R8Cを動かしてみた
やっとR8C/29マイコンが動いたのでこまでやったことのメモ
デバック
- RXDは2番ピンに接続
- TXDは9番ピンに接続
- MODEはGNDに接続
入出力ポート
pd1_7 = 1; //pd1の7ビット目を出力モードに p1_7 = 1; //p1の7ビット目をHighに
A/D変換
adgsel0 = 1; //AN8-11を使用する ch0 = 1; //AN11を選択 ch1 = 1; //ch2=0,ch1=0,ch0=0がAN8ではない ch2 = 1; //ch2=1,ch1=0,ch0=0がAN8 ch2は必ず1になる md = 0; //ADC単発モード cks0_adcon0 = 0; //周波数をf4に設定 bits = 1; //10bitモード bits=1で8bitモード cks1_adcon1 = 0; //周波数をf4設定その2 vcut = 1; //verf端子有効
adst = 1でA/D変換がスタートするはず
adにa/d変換の結果が代入される。またadl,adhでもおk
- ad : 全10ビットを読み出し
- adl : 下位8ビットを読み出し
- adh : 上位2ビットを読み出し
割り込み
タイマRAアンダーフロー割り込みの例
void int_timer_a ( void ); #pragma interrupt int_timer_a (vect=22) void int_timer_a(void){ p1_7 = 1^p1_7; //p1_7を反転 }
タイマAの割り込みを許可する
traic = 0x01; //優先度レベル1でタイマA割り込みを許可
traic = 0x00はレベル0で割り込み無効
traic = 0x07はレベル7で割り込み優先度最大
全体割り込みの有効、無効化
asm("FCLR I"); //Interrupt disabled asm("FSET I"); //Interrupt enable
まあこんな感じかな