📄 dspinit.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -