📄 timer_pwm.c
字号:
#include "SEED-DEC2407.h"
#include "TIMER_PWM.h"
void main()
{
*IFR = 0x3f;
DINT;
SystemInit();
TimerPWMInit();
/* *IMR = 0x02;*/
EINT;
for(;;)
{
}
}
void SystemInit(void)
{
/* WSGR = 0; */
*WDCR = 0x6f;
*SCSR1 = 0x00C;
}
void TimerPWMInit(void)
{
*MCRA = 0x3000; /*I/O复用控制寄存器A*/
*MCRC = 0x0c00; /*I/O复用控制寄存器C*/
*GPTCONA = 0x0049; /*通用定时器控制寄存器A*/
*GPTCONB = 0x0049;
*COMCONA = 0xa600; /*比较控制寄存器A*/
*COMCONB = 0xa600;
*T1CNT = 0; /*通用定时器1的计数寄存器*/
*T2CNT = 0;
*T3CNT = 0;
*T4CNT = 0;
*T1CON = 0x1f42; /*通用定时器1的控制寄存器*/
*T2CON = 0x1f42;
*T3CON = 0x1f42;
*T4CON = 0x1f42;
*T1PR = 0x7fff; /*通用定时器1的周期寄存器*/
*T2PR = 0x7fff;
*T3PR = 0x7fff;
*T4PR = 0x7fff;
*T1CMPR = 0x3fff; /*通用定时器1的比较寄存器*/
*T2CMPR = 0x3fff;
*T3CMPR = 0x3fff;
*T4CMPR = 0x3fff;
/* *EVAIFRA = 0x0002; EVA的中断标志寄存器
*EVAIMRA = 0x0002; EVA的中断屏蔽寄存器 */
}
interrupt void PHANTOM(void)
{
}
interrupt void c_int2(void)
{
if((*PIVR & 0x21) == 0x21)
{
*EVAIFRA = 0x0002;
}
/* *IFR = 0x02;*/
EINT;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -