Tiny2313でHello World

DSC09546


作業環境として問題ないって確かめる意味でも、最初はHello World
いきなり失敗してATMegaが天に召された日には膝から崩れ落ちるので、100円のTiny2313さんが生け贄。


環境はBootcamp上のXPでAVR StudioとAVRISP MKII。
セットアップは

  1. AVR Studioインストール
  2. WIN AVR インストール
  3. AVRISP MKII挿してドライバのインストール
  4. 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のピンヘッダに変換するのを作るのが無難かな。