2015年5月26日火曜日

IAR Embedded Workbenchを使ってみた

aitendoのOLED VGM12864-3S(http://www.aitendo.com/product/7447)のサンプルコードが
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^;