/********************************************************** 7144test1.c 2006.05.26 RIKIYA SH2_7144F CMT0を使って1mS単位の時間稼ぎ関数wait()を作る。 /*********************************************************/ #include "iodefine.h" void main(void); void wait(unsigned short); /* メイン関数********************************************/ void main(void){ MST.CR2.BIT._CMT = 0; // CMTスタンバイ解除 PFC.PEIORL.BIT.B15 = 1; // PE15 OUTPUT MODE CMT0.CMCSR.BIT.CKS = 0; // CMT0 CLOCK 24MHz/8 CMT0.CMCOR = 3000; // 1mS/0.3333uS = 3000 CMT.CMSTR.BIT.STR0 = 0; // CMT0 COUNT STOP while(1){ PE.DRL.BIT.B15 ^= 1; // PE15 on/off wait(500); // 500mS待機 } } /* CMT時間稼ぎ******************************************** 引数のmsecには、1/1000秒単位で待機時間を指定する。 unsigned short型、0xffff(65535)まで。 **********************************************************/ void wait(unsigned short msec){ unsigned short i; CMT.CMSTR.BIT.STR0 = 1; // CMT0 COUNT START for(i=0;i