2017年3月1日水曜日

ArduinoのスケッチをAVR単体で動作させる。

かんたんにまとめておきます。

Arduino UnoのATMega328Pを抜き差しして繰り返して使う手順。


◯ATMega328PをAVRプログラマに接続してArduino Uno用にFuse Bitを書き換え/確認



水晶振動子:16MHz C:22pF


Fuse Bit(Arduino Uno)

h: D6
l: FF
e: 05

<追記:2017.07.08>

◯新品のATMega328Pを使う場合は、Arduinoのファームウェアを書き込む


C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex

</追記>

◯Arduino UnoのICソケットに挿入


◯Example/BlinkでArduino IDEによる書き込み/動作確認


◯動作させるスケッチを書き込み、Arduino Unoで動作確認


◯ATMega328PをArduino Unoから取り外す


◯ATMega328PをAVRプログラマに接続してFuse Bitを書き換え


Fuse Bit(内蔵RC 8MHz)

h: D9
l: E2
e: 07

Fuse Bit(内蔵RC 1MHz)

h: D9
l: 62
e: 07

◯動作環境に入れて、動作確認


I2Cの通信状態


16MHz駆動(Arduino Uno)

ch1:SDA ch2:SCL

8MHz駆動

1MHz駆動

SPIの通信状態


ArduinoのLCD5110_Basicはソフトウェアで送信を行っていて、AVRのSPIハードウェアを使用していない。SPIハードウェアを使った場合は未確認。

16MHz駆動(Arduino Uno)

ch1:MOSI ch2:SCK

クロック周波数: 256.9kHz(オシロのカーソルで測定)

8MHz駆動

クロック周波数: 145.3kHz(オシロのカーソルで測定)

1MHz駆動

クロック周波数: 15.86kHz(オシロのカーソルで測定)

0 件のコメント:

コメントを投稿