1、定時器3中斷與串口0中斷衝突
開啓了串口0中斷,同時開啓了定時器3中斷,串口0中斷處理函數如下:
void SerialPort0_ISR(void) interrupt 4
{
if (RI==1) //這個中斷時接收跟發送共用的
{
UART_RxData(&UART_DevRx);
clr_RI;
}
}
以上中斷處理函數中未清除發送完成產生的中斷,如果在產生髮送完成中斷之後,使用定時器3中斷。
定時器3中斷將不能響應。
2、串口0連續接收失敗
使用官方的DEMO:UART0_mode_3
發現電腦串口連續發送10個字節數據,產生接收數據丟失的現象。
但是間隔一定時間發送1個字節數據,發送一個10字節數據,沒有數據丟失。
3、P1.2復位引腳設置爲輸入
如下圖設置
4、外部中斷與引腳中斷的使用
先看官方例程的代碼:
Enable_INT_Port2;
Enable_BIT0_LowLevel_Trig;
P30 =1;
P05 = 0;
set_EPI; //開啓引腳中斷
set_EX0;
set_EA; //global enable bit
在這裏,如果只使用外部中斷,不使用引腳中斷,那麼就不能開啓引腳中斷。否則會導致單片機卡死