📄 initializing.c
字号:
/*************************************************************************
文件名: DSP2407_Initializing()
日期: 2006年12月26日
公司(作者):
描述和说明: DSP 2407芯片级初始化函数
*************************************************************************/
#include "F2407REGS_c.h"
void DSP2407_Initializing()
{
asm(" setc INTM"); // 关总中断,INTM = 1
asm(" setc SXM"); // SXM置1,抑制符号扩展位
asm(" clrc OVM"); // OVM清0,累加器中结果正常溢出
asm(" clrc CNF"); // 可配置的片内双访问RAM块B0
// 被设置在数据空间
SCSR1=0x00FC; // 振荡器频率 CLKIN=10MHz,
// 设置工作频率 CLKOUT=4*CLKIN=40MHz
/* 0000,0000,1111,1100 =0x00FC
0~~~ ~~~~ ~~~~ ~~~~ [reserved]
~0~~ ~~~~ ~~~~ ~~~~ [CLKSRC] 选择CLKOUT引脚输出CPU时钟
~~00 ~~~~ ~~~~ ~~~~ [LPM] CPU进入IDLE1(LMP0)模式
~~~~ 000~ ~~~~ ~~~~ [PLL] CPU工作频率是输入的4倍频,4*10=40MHz
~~~~ ~~~0 ~~~~ ~~~~ [reserved]
~~~~ ~~~~ 1~~~ ~~~~ [ADC CLKEN] 1: ADC片内外设使能
~~~~ ~~~~ ~1~~ ~~~~ [SCI CLKEN] 1: SCI片内外设使能
~~~~ ~~~~ ~~1~ ~~~~ [SPI CLKEN] 1: SPI片内外设使能
~~~~ ~~~~ ~~~1 ~~~~ [CAN CLKEN] 1: CAN片内外设使能
~~~~ ~~~~ ~~~~ 1~~~ [EVB CLKEN] 1: EVB片内外设使能
~~~~ ~~~~ ~~~~ ~1~~ [EVA CLKEN] 1: EVA片内外设使能
~~~~ ~~~~ ~~~~ ~~0~ [resered] 0
~~~~ ~~~~ ~~~~ ~~~0 [ILLADR] 无效地址检测位,用户仅读。
*/
WDCR=0x0068; //关软件狗
/* 0000,0000,0110,1000 =0x0068
0000 0000 0~~~ ~~~~ [reserved]
~~~~ ~~~~ ~1~~ ~~~~ [WDDIS] Watchdog Disable:1,关软件狗
~~~~ ~~~~ ~~1~ ~~~~ [WDCHK2] Watchdog Check Bit 2. 1:写该控制寄存器时该位应为1
~~~~ ~~~~ ~~~0 ~~~~ [WDCHK1] Watchdog Check Bit 1. 0:写该控制寄存器时该位应为0
~~~~ ~~~~ ~~~~ 1~~~ [WDCHK0] Watchdog Check Bit 0. 1:写该控制寄存器时该位应为1
~~~~ ~~~~ ~~~~ ~000 [WDPS2-WDPS0]. Watchdog Prescale Select Bits.000:软件狗
分频为1
*/
IMR=0x003F; //开放所有CPU核级中断
/* 0000 0000 0011 1111 =0x003F
0000 0000 00~~ ~~~~ [reserved] 0000 0000 00
~~~~ ~~~~ ~~1~ ~~~~ [INT6] 1: INT6中断开放
~~~~ ~~~~ ~~~1 ~~~~ [INT5] 1: INT5中断开放
~~~~ ~~~~ ~~~~ 1~~~ [INT4] 1: INT4中断开放
~~~~ ~~~~ ~~~~ ~1~~ [INT3] 1: INT3中断开放
~~~~ ~~~~ ~~~~ ~~1~ [INT2] 1: INT2中断开放
~~~~ ~~~~ ~~~~ ~~~1 [INT1] 1: INT1中断开放
*/
IFR=0x003F; // 向所有中断标志位写1,以清除所有中断请求
/* 0000 0000 0011 1111 =0x003F
0000 0000 00~~ ~~~~ [reserved] 0000 0000 00
~~~~ ~~~~ ~~1~ ~~~~ [INT6] 1: 清除INT6中断请求
~~~~ ~~~~ ~~~1 ~~~~ [INT5] 1: 清除INT5中断请求
~~~~ ~~~~ ~~~~ 1~~~ [INT4] 1: 清除INT4中断请求
~~~~ ~~~~ ~~~~ ~1~~ [INT3] 1: 清除INT3中断请求
~~~~ ~~~~ ~~~~ ~~1~ [INT2] 1: 清除INT2中断请求
~~~~ ~~~~ ~~~~ ~~~1 [INT1] 1: 清除INT1中断请求
*/
}
/*************************************************************************
文件名: PHANTOM()
日期: 2006年12月27日
公司(作者):
描述和说明: 假中断函数。所有不需要的中断和错误中断都指向该函数。
*************************************************************************/
void interrupt PHANTOM(void)
{
static int phantom_count;
phantom_count ++;
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -