dspinit.c

来自「2407的移植版本现在网上流行有好几个」· C语言 代码 · 共 38 行

C
38
字号
#include "2407REGS.h"
#include "2407uart.h"


void  timer2int()
{
	*EVAIMRB=*EVAIMRB|0x0001;	// 允许定时器2的周期中断
	*EVAIFRB=0x0001;			// 清除定时器2周期中断标志
	*T2PER=50000;				// Timer2的周期寄存器的值根据1ms延时和预分频值确定
	*T2CNT=0x00;				// Timer2的计数器清零
	*T2CON=0x120C;				// Timer2为连续增计数模式,预分频值为4,使用内部时钟
}


void DSPInit(void)
{


	DINT();							// 初始化时禁止中断
	asm(" setc	SXM");				// 符号位扩展有效
	asm(" clrc	OVM");				// 累加器中结果正常溢出
	asm(" clrc	CNF");				// B0被配置为数据存储空间
		
	*IFR=0xFFFF;				// 清除中断标志   
	*SCSR1=CLKPS0+CLKPS1+SCICLK_EN+EVACLK_EN+ILLADR; //CLKIN=15M,CLKOUT=20M
	*WDCR=0xE8;            		//不使能看门狗
	
	timer2int();					// 定时器2的初始化
	EINT(); 			    		//使能总中断

}

void	interrupt nothing()
{
	EINT();						// 允许总中断,因一进中断服务程序后总中断就自动关闭了
	return;						// 中断返回
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?