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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機程序調試之道

[復制鏈接]
跳轉到指定樓層
樓主
ID:71235 發表于 2014-12-28 00:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    單片機程序調試和PC程序調試有很多不同,主要是1.單片機程序和硬件有直接的聯系,而PC機程序一般只是純軟件的調試。2.單片機調試手段很多,可以軟件仿真、硬件仿真、硬件指示電路、測量儀器等等,大部分都跟外部設備有關,需要一定的硬件設備投入,而PC機基本上是軟件界面的調試幾算法的調試,硬件投入基本沒有。3.單片機調試需要經歷編程、編譯、燒片、調試這些階段,而PC調試只要編譯運行就可以。下面以這次的GPS顯示終端的調試為例介紹本人的一些經驗:

    1、仿真器仿真:GPS接收終端硬件很簡單,只是51最小系統,GPS模塊因為支持TTL電平,因而省去了rs232轉換電路,程序分兩塊,一塊是主程序,循環讀取顯示單元內容并送液晶顯示,另一塊是串口中斷,中斷程序負責讀取串口數據,處理后送相應的顯示單元。程序編制完成后就是調試,初期調試發現液晶顯示器顯示不穩定,部分顯示內容與實際內容不符,因為主程序流程不是很復雜,因此問題可能出在串口中斷程序中,經過不斷的修改程序流程、程序參數,情況沒有很大的改觀,這時仿真器到了,經仿真器的單步調試發現了一個變量有問題,本應該在讀取一個GPS字段后該清零的卻沒有清零,以至于后面的程序寫入的顯示單元地址出現錯位,顯示器顯示出的也就成了亂碼。

    2、采用模擬手段:在顯示單元錯位這個問題解決后,經過連續運行發現程序工作10幾分鐘后顯示器顯示就不正常,其中有個細節,就是上電復位后能持續工作達1個小時,而在顯示不正常后用按鈕復位后只能正常工作10來分鐘,初步判斷可能是顯示器硬件有問題,但是顯示器顯示驅動采用的是比較成熟的程序,出問題的可能性不是很大,那么還有就是串口中斷程序還有BUG,該如何判斷呢?首先去掉GPS信號源,采用PC串口調試軟件模擬GPS模塊的輸出數據,因為模擬方法可以調節發送數據的頻率,可以排除51單片機運行速度過慢造成的問題,不幸的是采用這個方法后還是不正常,然后再次修改了程序,簡化了部分程序,加快了運行處理速度,可問題還是存在。

    3、硬件指示電路:接著在P3.7端口接了個指示燈,中斷程序中加入一個計數變量,當程序連續接收10次GPS協議頭部時指示燈就閃一次,大約是2.5秒的周期,在顯示器顯示出錯后,觀察指示燈的反應很正常,因此顯示器出問題的可能性更大了。

    4、輔助顯示:再接著在硬件上接入一個8段字符顯示器,顯示的是GPS接收到的時間單元,1小時后原來的1602顯示器顯示出錯后,8段字符顯示器顯示仍然正常,現在終于可以確認是1602顯示器的問題了,至于是顯示器硬件本身的問題還是程序驅動的問題,可以修改驅動程序時序、更換顯示器來確認了。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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