デバッグ出力
自分みたいなてきとーな人間の場合,動かしてみてから考える,という行動をとる.よくわかってないけど,動けばいいや,っていうのと,動いていることのみが真実だ,という2つの理由.だからといって,超能力者じゃないのでソフトウェアが動いているかどうか,ハードウェアが動いているかどうかなんて見えない.Don't think! Feel!とか言われたって,感じ取れない.ということで,何が起きているかをわかりやすく表示することにした.本当は,sprintfで整形したのをUART出力しようと思ったんだけど,sprintfが無いっぽい.逆アセンブリ結果を見るとcall sprintfみたいになってるのに,何も起こらない.そもそもprintfも何も起こらないし起こし方も書いてない.仕方なくしょぼいながらに文字列だけにしようかとも思ったけど,データが見れないと困るから数値→文字変換をテーブルを引いてやることにして,出力完成.
おかげで,次に何を処理しないといけないかが見えるようになった.もちろん,どこまで進んでいるかも見えるようになった.便利.
こんな風にした.もっと良い方法あったのかな.
char table[] = {'0','1','2','3','4','5','6','7', '8','9','a','b','c','d','e','f'}; table[data>>4]; table[data&0xf];