欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
串口中斷的學習
[打印本頁]
作者:
dajia
時間:
2015-3-21 03:03
標題:
串口中斷的學習
昨天寫串口中斷的程序,一直沒調好,才發現是串口中斷里的函數干的事情太多的原因。
我原來的程序:
void uart()interrupt 4
{
if(RI)
{
global_uart_table[global_i]=SBUF;
assign_gsm_net();
assign_gprs_table();
compare_gsm_net_sign(); //判斷是否獲取網絡時間
compare_gprs_net_sign();//判斷是否獲取GPRS服務器時間
assign_usb_table();
assign_fn_table();
compare_usb_sign(); //判斷是否收到幀結束符
compare_fn_sign(); //判斷電腦添加用戶是否結束
global_i++;
if(global_i>MAX_UART_TABLE_NUMBER-1)
{
global_i=0;
}
RI=0;
}
}
發現這個程序一直不安自己想的走,后來發現是我在中斷里做的事情太多了,因為我設定的波特率為115200.如果我在中斷了干活的時間太長的話,那下一次中斷來時我還沒有退出中斷,那么它的信息我將丟失掉。這就是原因的所在。
作者:
dajia
時間:
2015-3-21 03:04
今天寫程序碰見一個奇怪的問題,我用到單片機的串口,在配置的時候使能了串口中斷,但是我沒有寫相應的中斷函數,編譯程序沒錯誤,但是下載到板子上的時候程序死在了開頭,后來我寫上中斷函數,在中斷函數里隨便寫了一些代碼,程序能正常執行,我把串口使能關斷,不寫串口中斷,程序也能正常執行。
作者:
bjfxxc
時間:
2015-3-27 15:58
謝謝樓主的分享,這都是經驗。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1