2011年12月12日

AKI-RX62マイコンで遊ぶ マルチタイマユニット(MTU) メモ


RX62マイコンでMTUを使う.
使ったのはAKI-RX62マイコンボード

HEW+FDT

参考
http://memo--randum.blogspot.com/2011/07/blog-post.html

ここでは後々使えそうなオーバーフロー割り込みを使ってみる.
(※まだ検証してない.とりあえずできそうな気がするやつ)

メイン文
RX62N_MTUOVF.c

割り込み部分
intprg.c

余裕があれば検証する.
posted by CODE-440 at 02:40| Comment(0) | TrackBack(0) | RX62N | このブログの読者になる | 更新情報をチェックする

2011年11月28日

AKI-RX62マイコンで遊ぶ コンペアマッチタイマ(CMT) メモ


RX62マイコンでコンペアマッチタイマを使う.
使ったのはAKI-RX62マイコンボード

HEW+FDT

参考
http://memo--randum.blogspot.com/2011/07/rx.html

まだ検証中だけど動いたのでとりあえずメモ
(周期とかうまくいってない)


#include "iodefine.h"

void intCMT0()
{
static int count = 0;
static int pattern = 0x0f;
static int flag = 0;
//1msec

//CMT0.CMCR.BIT.CMIE = 0;
CMT.CMSTR0.BIT.STR0 = 0; // CMTカウンタ停止
CMT0.CMCNT = 0; // カウントクリア

count= count+1;

if(count > 1000)
{
PORT2.DDR.BIT.B0 = flag;
PORTA.DDR.BYTE = pattern;

flag = ~flag;
pattern = ~pattern;

count = 0;
}

CMT0.CMCR.BIT.CMIE = 1;
CMT.CMSTR0.BIT.STR0 = 1; // CMTカウンタ開始
}


int main(void)
{

long t;



// PORTA
PORTA.DR.BYTE = 0xff; // 出力端子に設定
PORTA.DDR.BYTE = 0x00; // 初期値

// PORT2
PORT2.DR.BYTE = 0xff; // 出力端子に設定
PORT2.DDR.BYTE = 0x00; // 初期値

SYSTEM.MSTPCRA.BIT.MSTPA15 = 0; //モジュールストップ状態の解除 CMTユニット0
//SYSTEM.MSTPCRA.BIT.MSTPA8 = 0; // MTUユニット1
CMT.CMSTR0.BIT.STR0 = 0; // CMTカウンタ停止
CMT0.CMCR.BIT.CMIE = 0; // コンペアマッチ割り込み停止

CMT0.CMCR.BIT.CKS = 0; // φ/8 = 12,500,000
CMT0.CMCNT = 0; // カウントクリア
CMT0.CMCOR = 12500; // 周期設定

ICU.IER[0x03].BIT.IEN4 = 1; // 割り込み要求許可
ICU.IPR[0x04].BIT.IPR = 10; // 割り込み優先レベル

CMT0.CMCR.BIT.CMIE = 1; // コンペアマッチ割り込み許可
CMT.CMSTR0.BIT.STR0 = 1; // CMTカウンタ開始

//set_psw(0x00010000); // #define PSW_init 0x00010000 // PSW bit pattern

//PORT2.DDR.BYTE = 0xff;

while(1)
{
/*
for(t=0; t<6000000; t++); // wait about 1sec
PORT2.DDR.BYTE = 0x01; // LED1
PORTA.DDR.BYTE = 0x01; // LED1

for(t=0; t<6000000; t++); // wait about 1sec
PORT2.DDR.BYTE = 0x02; // LED2
PORTA.DDR.BYTE = 0x02; // LED2
*/
}

return 0;
}


あと,"intprg".c中の


void Excep_CMTU0_CMT0(void){ }


をちょっと書き加えて


// CMTU0_CMT0
void Excep_CMTU0_CMT0(void)
{
intCMT0();
}





Interface の特集読んだ方が楽にできそう

posted by CODE-440 at 21:57| Comment(0) | TrackBack(0) | RX62N | このブログの読者になる | 更新情報をチェックする