新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 430學(xué)習(xí)筆記之我見

430學(xué)習(xí)筆記之我見

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
/*****************************************************************************
系統(tǒng)初始化
******************************************************************************/
void InitSys()
{
unsigned int iq0;
//使用XT2振蕩器
BCSCTL1&=~XT2OFF; //打開XT2振蕩器
do
{
IFG1 &= ~OFIFG; // 清除振蕩器失效標(biāo)志
for (iq0 = 0xFF; iq0 > 0; iq0--); // 延時(shí),等待XT2起振
}
while ((IFG1 & OFIFG) != 0); // 判斷XT2是否起振
BCSCTL2 =SELM_2+SELS; //選擇MCLK、SMCLK為XT2
//以下填充用戶代碼,對(duì)各種模塊、中斷、外圍設(shè)備等進(jìn)行初始化
_EINT(); //打開全局中斷控制,若不需要打開,可以屏蔽本句
}
/*****************************************************************************
端口2中斷函數(shù)
******************************************************************************/
#pragma vector=PORT2_VECTOR
__interrupt void Port2()
{
//以下為參考處理程序,不使用的端口應(yīng)當(dāng)刪除其對(duì)于中斷源的判斷。
if((P2IFG&BIT0) == BIT0)
{
//處理P2IN.0中斷
P2IFG &= ~BIT0; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT1) ==BIT1)
{
//處理P2IN.1中斷
P2IFG &= ~BIT1; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT2) ==BIT2)
{
//處理P2IN.2中斷
P2IFG &= ~BIT2; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT3) ==BIT3)
{
//處理P2IN.3中斷
P2IFG &= ~BIT3; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT4) ==BIT4)
{
//處理P2IN.4中斷
P2IFG &= ~BIT4; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT5) ==BIT5)
{
//處理P2IN.5中斷
P2IFG &= ~BIT5; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT6) ==BIT6)
{
//處理P2IN.6中斷
P2IFG &= ~BIT6; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else
{
//處理P2IN.7中斷
P2IFG &= ~BIT7; //清除中斷標(biāo)志
//以下填充用戶代碼
}
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
USART1發(fā)送中斷函數(shù)
******************************************************************************/
#pragma vector=USART1TX_VECTOR
__interrupt void Usart1Tx()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
USART1接收中斷函數(shù)
******************************************************************************/
#pragma vector=USART1RX_VECTOR
__interrupt void Ustra1Rx()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
端口1中斷函數(shù)
多中斷中斷源:P1IFG.0~P1IFG7
進(jìn)入中斷后應(yīng)首先判斷中斷源,退出中斷前應(yīng)清除中斷標(biāo)志,否則將再次引發(fā)中斷
******************************************************************************/
#pragma vector=PORT1_VECTOR
__interrupt void Port1()
{
//以下為參考處理程序,不使用的端口應(yīng)當(dāng)刪除其對(duì)于中斷源的判斷。
if((P1IFG&BIT0) == BIT0)
{
//處理P1IN.0中斷
P1IFG &= ~BIT0; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT1) ==BIT1)
{
//處理P1IN.1中斷
P1IFG &= ~BIT1; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT2) ==BIT2)
{
//處理P1IN.2中斷
P1IFG &= ~BIT2; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT3) ==BIT3)
{
//處理P1IN.3中斷
P1IFG &= ~BIT3; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT4) ==BIT4)
{
//處理P1IN.4中斷
P1IFG &= ~BIT4; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT5) ==BIT5)
{
//處理P1IN.5中斷
P1IFG &= ~BIT5; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT6) ==BIT6)
{
//處理P1IN.6中斷
P1IFG &= ~BIT6; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else
{
//處理P1IN.7中斷
P1IFG &= ~BIT7; //清除中斷標(biāo)志
//以下填充用戶代碼
}
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽

關(guān)鍵詞: 430學(xué)習(xí)筆

評(píng)論


技術(shù)專區(qū)

關(guān)閉