我是指我的初始化文件还有那些参数没有初始化,
原来已经是一个现成可用的程序,现在需增加复位检测,按照你的使用方法,将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; /* 开启中断 */ }
|