Tiny2313でHello World
作業環境として問題ないって確かめる意味でも、最初はHello World。
いきなり失敗してATMegaが天に召された日には膝から崩れ落ちるので、100円のTiny2313さんが生け贄。
環境はBootcamp上のXPでAVR StudioとAVRISP MKII。
セットアップは
- AVR Studioインストール
- WIN AVR インストール
- AVRISP MKII挿してドライバのインストール
- AVRISP MKIIのFirmwareアップデート
の順で。
ISP側は▲がPIN1。
マニュアルPDFの絵はコネクタを挿すピンヘッダ側。
分かりにくいって。
LEDチカチカのコードは以下。
#include <avr/io.h> void wait(uint16_t time); int main(void){ DDRB=0b00000001; for(;;) { PORTB = 0b00000001; wait(100); PORTB = 0b00000000; wait(100); } } void wait(uint16_t time){ volatile uint16_t i, j; for(i=0; i<time; i++) { for(j=0; j<1000; j++); } return; }
最初の試練だと思った書き込みはすぐにできた。
まぁ、Fuseとか初期値のままだしね。
でも、動かなくて30分悩んだ。
volatileつけてなくてコンパイラに最適化されてた。
2×3のコネクタをどうしたもんかな。とりあえずジャンパワイヤを6本挿したけど。
ISPの電源入ってないときはREST抜かないと動かないし。
ここはさっと抜き差ししたいところ。バラバラだと間違えそうだし。
やっぱり1×6のピンヘッダに変換するのを作るのが無難かな。