?? initsystem.c
字號(hào):
//=============================================================
// 文件名稱: InitSystem.c
// 實(shí)現(xiàn)功能: 對(duì)系統(tǒng)的初始化
// 完成日期: 2004,7,14
//==============================================================
#include <SPCE061V004.h>
#define M_TIMERA_EN 0x0001//0x0031 //使能TimerA的配置,計(jì)數(shù)頻率為96KHz
#define M_TIMERA_STOP 0x0006//0x0036 //停止TimerA的配置,計(jì)數(shù)器停止工作
extern unsigned int uiIOB_20Hz_flag;
extern unsigned int uiEXT_EN_flag; //外部中斷使能標(biāo)識(shí)位
extern unsigned int uiMeasure_Index; //當(dāng)前測(cè)量的次數(shù)
//=============================================================
// 函數(shù)名稱: InitSystem()
// 功能描述: 系統(tǒng)IO口、中斷等進(jìn)行初始化
// 語(yǔ)法格式: void InitSystem(void)
// 入口參數(shù): 無(wú)
// 出口參數(shù): 無(wú)
// 注意事項(xiàng): 僅為用戶模型
//=============================================================
void InitSystem(void)
{
unsigned int iTest; //設(shè)置的中間量
//設(shè)置IOB口 IOB04口為20Hz(也許用16Hz)的輸出
//IOB2 口為外部中斷的輸入,設(shè)置為帶上拉的輸入口。
//在IOB口中IOB7為RX IOB10為TX
*P_IOB_Dir = 0x0410;
*P_IOB_Attrib = 0x0490;
iTest = 0x0004;
*P_IOB_Data = iTest;
*P_IOA_Dir = 0x0000;
*P_IOA_Attrib = 0x0000;
*P_IOA_Data = 0x0000;
//開(kāi)時(shí)間基準(zhǔn)中斷,TMB1 16Hz
iTest=0x0001;
*P_TimeBase_Setup=iTest;
//設(shè)置TimerB 選使其處于停止工作狀態(tài)
*P_TimerB_Data = 0x0000;
*P_TimerB_Ctrl = M_TIMERA_STOP;
iTest = 0x0008; //先不使能所有的中斷
*P_INT_Ctrl = iTest; //開(kāi)IRQ5的2Hz中斷,用來(lái)清狗
__asm("FIQ OFF");
__asm("IRQ ON");
}
//=============================================================
// 函數(shù)名稱: InitData()
// 功能描述: 部分全局?jǐn)?shù)據(jù)的初始化
// 語(yǔ)法格式: void InitData(void)
// 入口參數(shù): 無(wú)
// 出口參數(shù): 無(wú)
// 注意事項(xiàng): 僅為用戶模型
//=============================================================
void InitData(void)
{
uiIOB_20Hz_flag = 0; //初始化為零
uiEXT_EN_flag = 0;
// uiError_Counter = 0;
uiMeasure_Index = 0;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -