欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3523|回復: 2
打印 上一主題 下一主題
收起左側

串口中斷的學習

[復制鏈接]
跳轉到指定樓層
樓主
ID:74985 發表于 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.如果我在中斷了干活的時間太長的話,那下一次中斷來時我還沒有退出中斷,那么它的信息我將丟失掉。這就是原因的所在。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:74985 發表于 2015-3-21 03:04 | 只看該作者
今天寫程序碰見一個奇怪的問題,我用到單片機的串口,在配置的時候使能了串口中斷,但是我沒有寫相應的中斷函數,編譯程序沒錯誤,但是下載到板子上的時候程序死在了開頭,后來我寫上中斷函數,在中斷函數里隨便寫了一些代碼,程序能正常執行,我把串口使能關斷,不寫串口中斷,程序也能正常執行。
回復

使用道具 舉報

板凳
ID:75468 發表于 2015-3-27 15:58 | 只看該作者
謝謝樓主的分享,這都是經驗。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表