Top/Arduino

アルドゥイーノ・アーデュイーノ (Arduino)

電子工作は素人。だけど、Arduino を使ってみたいと思います。
以下、Arduino を使うまでの道筋を記録します。
同じような素人さん向けに参考になるように。

いくつかの基礎知識

素人ですので、不正確、場合によっては誤りの情報があるかと思います。
どうぞご指摘下さい。
※1BODLEVEL 2:0 の設定について
111BOD を使わない ( Default )
110Vcc 2.5V用(?) に設定。1.8V 以下で停止
101Vcc 3.5V用(?) に設定。2.7V 以下で停止
100Vcc 5.0V用(?) に設定。4.3V 以下で停止


名称ビット番号意味Default の値
CKDIV87周波数を1/8 にする。(8MHz → 1MHz )0 (設定している)
CKOUT6CLKO ピン(PB0, 14番)からクロックを出力する。他のデバイスを駆動するのに使える。1 (設定していない)
SUT15スタートアップタイムの指定※1
SUT04
CKSEL33クロックの指定※2
CKSEL22
CKSEL11
CKSEL00


※1SUT1:0 の設定について(ただし、CKSEL3:0 が 1111の場合)
01リセットからの余分な遅れ : 14クロック (ただし、BOD を使う。)
10リセットからの余分な遅れ : 14クロック + 4.1ms
11リセットからの余分な遅れ : 14クロック + 65ms


※2CKSEL3:0 の設定について
0000External Clock Source(外部発振源?)を使う
0010内部 RC 発振回路 8( 7.3-8.1 )MHz を使う
0011内部 128kHz(low power で高精度に作られていない) を使う
0100-1111水晶発振
1111水晶発振(8.0-16.0)MHz (12-22 pF のコンデンサを噛ませる)



名称ビット番号意味Default の値
-7-1
-6-1
-5-1
-4-1
-3-1
BOOTSZ12※1 ブートローダのサイズを決める※1
BOOTSZ0100 なら 1024words( アドレス 0x1C00-0x1FFF までの 2KB 分)。ブートローダの大きさはある程度大きいのでこれにする。
BOOTRST0リセット信号が来たときに、ブートローダ領域に飛ぶ(?)1 (設定されていない)
※ 1BOOTSZ1:0 の設定と168Pの場合のブートローダ領域の大きさ
1 10.25 Kbyte ( 128 ワード )
1 00.5 Kbyte ( 256 ワード )
0 11 Kbyte ( 512 ワード )
0 02 Kbyte ( 1024 ワード )



既製品の Arduino を使う

Arduino のプログラム開発環境を整える

Arduino の自作


トップ   新規 検索 最終更新   ヘルプ   最終更新のRSS