昨夜は少し早めに寝たものの、やはり少し眠い。そのせいもあってか、今日は丸一日マイコンのI2C通信に手を焼いた。I2Cの送信バッファが空いたときに起こるはずの割り込みが起こらない。
仕事場が蒸し暑かったにもかかわらず、電気代に神経質になっている専務がエアコンのスイッチ入れようとしない。片手で団扇をあおぎつつ、マイコンの資料を読み込むのはなかなか骨が折れた。睡眠の乱調のせいもあって、やたらイラついてしまう。
こういうときに限って別の仕事に対して、不具合や要望の連絡が来る。一つ二つ未知のバグもあったが、ほとんどは既知だけど修正方法が分からないバグや、必要なのは分かっているが今の自分の手にあまる機能だったりで、よけいにイライラが募る。

夕方になってようやく気がついた。割り込みを待っている箇所が既に割り込み処理の中だった。ためしに一部をメインループ中で処理するようにしたら、通信が途中まで動作するようになった。けど、このまま通信を本格的に動作させるにはかなりあちこちいじらなくてはならない。もともと変更を最小限にする方針で始めたのに、結局修正箇所が増えてしまう。困った。