📄 initiate.c
字号:
/*****************************************************************************
* 文件名: Initiate.c
* Copyright (c) 2008 *********武汉理工大学信息工程学院电信系
* 创建人: 王康
* 日 期: 2008.7.29
* 修改人: 王康
* 日 期:
* 描 述: 本文件为各个模块的初始化,定义了供调用的外部函数.
* 版 本: IAR V4.11
******************************************************************************/
//头文件
#include "config.h"
/*****************************************************************************
* 函数名: FunClk_Init
* 输 入: 无
* 输 出: 无
* 功能描述: 本函数为系统时钟初始化子函数.在此函数中选择了系统时钟,分配了各个时钟
* 信号的时钟源
* 全局变量: 无
* 作 者: 王康
* 日 期: 2008.7.29
* 修改人: 王康
* 日 期:
* 版 本: IAR V4.11
******************************************************************************/
void FunClk_Init(void)
{
volatile int i; //volatile声明的变量可以不被编译器优化
WDTCTL = WDTPW + WDTHOLD; //关看门狗
/*******************以下程序时将系统主时钟MCLK初始化为8MHz********************/
BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器
do
{
IFG1 &= ~OFIFG; //清除晶振失败标志
for(i = 0xff; i > 0; i--); //延时50us,等待8MHz晶振起振
}
while((IFG1 & OFIFG)); //晶振失效标志仍然存在?
BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振
}
/*****************************************************************************
* 函数名: FunPort_Init
* 输 入: 无
* 输 出: 无
* 功能描述: 本函数为系统端口初始化子函数.在此函数中初始化了各个端口
* 全局变量: 无
* 作 者: 王康
* 日 期: 2008.7.29
* 修改人: 王康
* 日 期:
* 版 本: IAR V4.11
******************************************************************************/
void FunPort_Init (void)
{
P1DIR = 0x00; //定义P1口为输入模式
P5DIR = 0x00;
LCD_1602_DAT_DIR = 0xff; //LCD_1602数据通道方向定义为输出状态
LCD_1602_CON_DIR = 0xff; //LCD_1602控制通道方向定义为输出状态
}
/*****************************************************************************
* 函数名: FunData_Init
* 输 入: 无
* 输 出: 无
* 功能描述: 本函数为系统端口初始化子函数.在此函数中初始化了各个端口
* 全局变量: 无
* 作 者: 王康
* 日 期: 2008.7.29
* 修改人: 王康
* 日 期:
* 版 本: IAR V4.11
******************************************************************************/
void FunData_Init (void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -