CARW¥á¥ó¥Ð¡¼¸þ¤±¤Î¾ðÊó¶¦Í­¡¦¸ò´¹Wiki¤Ç¤¹¡£

CMT(¥³¥ó¥Ú¥¢¥Þ¥Ã¥Á¥¿¥¤¥Þ)³ä¤ê¹þ¤ß¤Ë¤è¤ëLEDÅÀÌÇ¥×¥í¥°¥é¥à¤Ç¤¹¡£
resetprg.c 21¹ÔÌÜ
#define SR_Init    0x00000000  //³ä¤ê¹þ¤ßÍ¥Àè¥ì¥Ù¥ë¤ÎÀßÄê
¤³¤³¤Ï¸µ¤Ï0x000000F0¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹(F¤ÏºÇÂçÃÍ)¡£F¤ò0¤Ë¤¹¤ë¤³¤È¤Ç¥ì¥Ù¥ë1°Ê¾å¤Î³ä¤ê¹þ¤ß¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹(»²¹Í(¥Þ¥¤¥³¥ó¤ÇÍ·¤Ü¤¦))¡£
intprg.c 378¹ÔÌÜ¡Á
void interrpt_cmt0(void);      //¥á¥¤¥ó¥×¥í¥°¥é¥à¤ÇÀë¸À¤·¤¿³ä¤ê¹þ¤ß´Ø¿ô
#pragma interrupt INT_CMT0_CMI0
void INT_CMT0_CMI0(void)
{
	interrpt_cmt0();       //³ä¤ê¹þ¤ß´Ø¿ô¤ò¥¤¥Ë¥·¥ã¥é¥¤¥º
}
¥á¥¤¥ó¥×¥í¥°¥é¥à
#include "iodefine.h"

int d=0xff;

void initIO(void)
{
	PFC.PEIORL.BYTE.L=0xff;  //²¼°Ì8¥Ó¥Ã¥È½ÐÎÏÀßÄê
}

void initCMT(void)
{
	STB.CR4.BIT._CMT=0;      //CMT0¥¹¥¿¥ó¥Ð¥¤¥â¡¼¥É²ò½ü
	CMT.CMSTR.BIT.STR0=0;    //CMT0¥«¥¦¥ó¥ÈÄä»ß
	CMT0.CMCSR.BIT.CMIE=1;   //¥³¥ó¥Ú¥¢¥Þ¥Ã¥Á³ä¤ê¹þ¤ßµö²Ä
	CMT0.CMCSR.BIT.CKS=1;    //¦Õ/32¤Ç¥«¥¦¥ó¥È¥¢¥Ã¥×(CMT¤Î¥¯¥í¥Ã¥¯¤Ï25MHz)
	CMT0.CMCSR.BIT.CMF=0;    //¥Õ¥é¥°¥¯¥ê¥¢(¥¯¥ê¥¢¤·¤Ê¤¤¤È¥³¥ó¥Ú¥¢¥Þ¥Ã¥Á¤ÎÆ°ºî¤¬¤Ç¤­¤Ê¤¤¤Î¤ÇÃí°Õ)
	CMT0.CMCOR=781250-1;     //25000000(Hz)/32 = 781250(¢â1sec)
	INTC.IPRJ.BIT._CMT0=15;  //³ä¤ê¹þ¤ßÍ¥Àè¥ì¥Ù¥ëMAX
}

void interrpt_cmt0(void)         //³ä¤ê¹þ¤ß´Ø¿ô
{
	CMT0.CMCSR.BIT.CMF=0;    //¥Õ¥é¥°¥¯¥ê¥¢
	PE.DRL.BYTE.L=d;         //¥Ý¡¼¥ÈE²¼°Ì8¥Ó¥Ã¥È½ÐÎϤËÀßÄê
	d=~d;                    //ȿž
}

int main()
{
	initIO();
	initCMT();
	CMT.CMSTR.BIT.STR0=1;    //CMT0¥«¥¦¥ó¥È¥¹¥¿¡¼¥È
	while(1) ;
	return 0;
}

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

¥á¥ó¥Ð¡¼¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹