欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于51單片機串口中斷的問題 RI TI寄存器設置
[打印本頁]
作者:
liaohuguang
時間:
2020-7-7 09:19
標題:
關于51單片機串口中斷的問題 RI TI寄存器設置
各位大佬好,我是新人
最近學51單片機有一個問題一直困惑著我,就是關于串口中斷函數何時進入的問題,如下面代碼
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;
RI = 0;
SBUF=receiveData;
while(!TI);
TI=0;
}
復制代碼
上面的串口中斷函數應該是在RI或TI置一的時候進入,上面的中斷函數初次進入是RI=1,但是運行到SBUF=receiveData的時候,此時TI應該置0,等待TI置1,那假如在這個程序中,TI在中斷程序中變成1,那中斷程序是直接運行到末尾還是重新從頭運行,畢竟TI=1觸發了中斷,應該重頭再次運行。
作者:
lovezjf234
時間:
2020-7-7 16:03
當TI=0的時候一直在while(!Ti中循環),當TI接受結束或者置1的時候,直接向下運行,把TI重新復位TI=1,在中斷中運行的時候不會二次觸發中斷,除非有其他優先級更高的中斷進行觸發。
作者:
wulin
時間:
2020-7-7 19:28
//收到上位機一個字節,MCU硬件自動置RI=1,產生中斷請求。
void Usart() interrupt 4 //CPU響應中斷請求進入中斷
{
u8 receiveData;
receiveData=SBUF;//讀取SBUF寄存器收到的數據
RI = 0; //軟件清RI=0
SBUF=receiveData;//向上位機發送收到的數據
while(!TI); //等待發送完成 硬件置TI=1
TI=0; //軟件清TI=0
}//收、發SBUF寄存器是相同地址的兩個物理寄存器
作者:
每天寫bug
時間:
2020-7-7 21:58
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;
RI = 0;
SBUF=receiveData;
while(!TI);
TI=0;
}
哥,你是電子194還是電子192的,大佬!期末指導指導小弟!哥!!!
作者:
林李
時間:
2020-7-8 11:45
這個肯定從進入中斷開始程序執行,這個是接受到數據之后再發送接收到的數據程序
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1