
[Arduino] | digitalWriteとpinModeを高速化しLチカを実験
Arduino標準関数で必ず使う pinMode() と digitalWrite()は、全ボードに共有な為、関数内でのオーバヘッドが大きくコンパイルサイズも大きくなります。また、処理速度もオーバーヘッド分遅いため簡単な実験レベルではいいのですが、本格的なプログラムを作っていると結構ダメージが大きかったりします。ここでは、これら2つの関数を、AVRレジスタレベルで操作し、高速化・コンパクト化を図ってみたいと思います。
作成したサンプルコード
以下は、pinModeの高速化関数 avr_pinModeと、digitalWriteの高速化関数 avr_digitalWriteを全く同じ引数によって...