我是指我的初始化文件还有那些参数没有初始化,
原来已经是一个现成可用的程序,现在需增加复位检测,按照你的使用方法,将crts.st7作为启动文件,这个文件不初始化任何的RAM区。可以用,但我原来的时钟变慢了,不知为何?
以下是我的初始化特殊寄存器程序
/*=========================================================
* 函 数 名: f_MCU_InitSfr()
* 功能描述: 硬件初始化,初始化MCU SFR
=========================================================*/
void f_MCU_InitSfr(void)
{
DisableInterrupts; // 关闭中断
MCCSR = 0X00; //MCO CLOCK DISABLE; NORMAL MODE
RCCR = 0XA7; //CR2-CR9
SICSR = 0X00; //CR0-CR1
PADDR = 0XFF; // PA.0
PAOR = 0XFF; // PA.1 NO USE
// PA.2 NO USE
// PA.3 NO USE
// PA.4 TXD
// PA.5 NO USE
// PA.6 NO USE
// PA.7 NO USE
PBDDR = 0X39; // PB.0BACK LIGHT
PBOR = 0X79; // PB.1 KEY1
// PB.2 KEY2
// PB.3 LCD_DATA
// PB.4 LCD_WR
// PB.5 LCD_CS
// PB.6 RXD
PCDDR = 0X03; // PC.0 OSC1
// PC.1 OSC2
/* 外部中断设置 */
EICR = 0XAA; //
EISR = 0X30; // PB5通信接收 ei2 下降沿中断
/* 主时钟设置10ms */
LTCSR1 = 0X30; /* 基本时钟2ms,中断开启 */
LTCSR2 = 0X02; /* Timerbase 2,中断开启 */
LTARR = 0XE6; /* Timerbase 2,100us定时 */
// LTCSR1 = 0X10; /* 基本时钟2ms,中断开启 */
// LTARR = 0XF3; /* Timerbase 2,8 * 12 = 100us定时 */
/* 软件看门狗设置 */
WDGCR = 0XFF; /* 看门狗打开 */
EnableInterrupts; /* 开启中断 */
}