timer_pwm.c

来自「TMS320LF2407A,timer_pwm的C语言原程序」· C语言 代码 · 共 68 行

C
68
字号
#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 + =
减小字号Ctrl + -
显示快捷键?