📄 hardwareinit.c
字号:
/*
***************************************************************************************
* 文件名: HardwareInit.c
*
* 功能 : 硬件系统的初始化;
*
* 说明 : 内存系统的时序及内存中断使能 时钟系统配置..等等的相关的操作
* 注意 :
* (1):系统已经初步定了内存的配置为:不使用EEPROM ,RAM范围从0x2000---3fff
* :ROM区为:0xc000----0xffff(16K足够了)和页块的Flash
* (2):设置系统时钟
* (3):功能模块引脚>>优先>>GIO
*状态 :
****************************************************************************************
*/
#include "mc9s12dg128.h"
#include "ATD.h"
#include "PWM.h"
#include "Timers.h"
extern void IOInit(void);
void HardwareInit(void){
/*---------------------------------------------------------------------
*产生的PLLCLK=2*OSCCLK*(SYNR+1)/(REFDIV+1) (OSCLK= 16M)
*系统的时钟 SYSCLK=PLLCLK
*CPU内核时钟:Core Clock = SYSCLK =48M
*其它的外围模块的时钟:
* Bus Clock= SYSCLK/2 =24M
*
*实时时钟及中断控制使用初始值,全部是关闭的..关闭看门狗激活BDM调试
*
*/
COPCTL=0; //控制watchdog为关闭..及允许BDM
REFDV=1; //设置PLLCLK=24M
SYNR=2;
while(!(CRGFLG&8)); //等待频率锁定
CLKSEL=0x80; //选择系统的时钟输入SYSCLK=PLLCLK
/*---------------------------------------------------------------------
*内存系统的时序及内存中断使能
*
*/
FCLKDIV=0x49;
ECLKDIV=0x49;
PPAGE=0x30;
/*--------------------------------------------------------------------
*硬件功能模块的初始化
*
*/
IOInit();
ATD0_Init();
ATD1_Init();
PACounterInit();
Capture0Init();
PWM1Init();
PWM2Init();
PWM3Init();
//test_ad_ch=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -