ここを参考に(ArduinoのGUIではなく)inoでビルドしてみたのだが、けっこう忘れているので手順のメモ。
- 適当にディレクトリを作成してino initするとsrcとlibというディレクトリができる。
- src/sketch.inoができているので、ここのソースコードを貼り付ける。
- 通信プログラムはここからダウンロード、展開してできたディレクトリをlibの下にEtherCardの名で置く。
- arduino-1.0.3とavr-gcc-4.3.4ではprog_charがエラーになるのでPROGMEMで置き換える。差分を置きたいけど面倒そう。。
- ino build -d /usr/local/arduino -m atmega328
- ino upload -m atmega328 -p /dev/cuaU1
接続でCS(ChipSelect)はPB2(SS)端子を使う模様。他は自明と思うので省略。
さて、うまく動くか試してみよう。
あっさり動いた。
ちょっとてこずったのはMISOがSPIの出力、MOSIが入力と思ってしまったところ。SPIスレーブではそうだが、マスターでは逆になる。
ちなみにサイズは以下になった。バッファを700byte確保しているので、小さくできればATmega168でもいけそう。さすがにTinyではきついか。
% avr-size .build/firmware.elf
text data bss dec hex filename
8888 80 1028 9996 270c .build/firmware.elf
0 件のコメント:
コメントを投稿