IAR用みたいなので、IAR Embedded Workbenchをインストールしてみた
とりえあえず30日の試用期間のライセンスで
多少いじくってサンプルコードのコンパイルはできたがうまく動かないようだ
OLEDを繋がないでI2Cの信号線の様子をオシロで見てみたが信号が出力されないようだ
このサンプルコードを見るとATMega16用で、AVRのI2C用の端子(ATMega328pだとP27, P28)ではなくてPORTBのGPIOに出力しているみたいだ(たぶん)
OLEDの駆動電圧が3.3Vなので、グチャグチャやって壊してしまうといやなので諦めて
基本のLチカをやってみた
<main.c>
#include <iom328p.h>
static void wait(long t)
{
while(t-->=0)
;
}
int main( void )
{
DDRD = 0xFF;
PORTD = 0x00;
for (;;) {
PORTD = 0xFF;
wait(50000UL);
PORTD = 0x00;
wait(50000UL);
}
return 0;
}
IAR EWの設定でいじったのは
[Project]-[Options]-[General Options]-[Target]の[Processor configuration]で
「ATmega328P」を選択
[Project]-[Options]-[Linker]-[Output]の[Format]で[other][intel-standard]を選択
hexファイルはDebug\Exeの中に*.d90という名前で出力される
これでavrdudeで書き込めるファイルフォーマットで出力できてLEDもちゃんとチカチカした(^q^/
マニュアルを1行たりとも読んでないので(^q^;動くことの確認だけ
Atmel StudioのGCCと比べるとコンパイルが相当速いが個人で買える値段ではないようだ(^q^;
OLEDの方はNucleoのmbedで動かしている方もいるようなので
AVRでは保留してNucleoをいじりだしてからまたやってみよう思う
矩形波だけのファンクションジェネレーター
逐一チェックしながらハンダ付けしている
やっとデジタル部のLCD以外が終わったところ
↑裏面にピンソケットヘッダを出してケーブルを配線する予定
ユニバーサル基板のハンダ付けはほんとしんどい
まだまだかかりそうです(^q^;
0 件のコメント:
コメントを投稿