新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言程序結構容易出問題的有一下幾點

        單片機C語言程序結構容易出問題的有一下幾點

        作者: 時間:2016-12-01 來源:網絡 收藏
        一,定義寄存器

        定義全局變量unsigend num

        本文引用地址:http://www.104case.com/article/201612/324286.htm

        在子程序里面改變num值,同時在中斷里面也改變num值,最后得到意向不到的值,容易出錯

        若要這樣改變則定義變量前面加volatile unsigend num

        二,中斷調用

        主程序調用子程序,同時中斷函數里面也調用該子程序,這樣容易出錯

        建議:中斷里面不要調用子程序,

        若要調用子程序則,則該子程序為唯一被中斷調用。

        三,程序開頭沒加延時

        開始的時候沒加延時,很危險,上電電源電壓波動較大,若一上電單片機就執行重要的命令的話,就容易出問題

        特別是對內部eeprom的讀寫,讀取數據出錯,導致意向不到的后果。讀寫數據都需要比較穩定的電壓。

        親,上電延時個10毫秒,等到電壓穩定后,再執行命令,不會影響正常工作,又有保障不是更好

        四,競爭與冒險

        檢測需加多次判斷,以防干擾。

        多次判斷需要浪費一點時間,這個時間是在允許的范圍內。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 林口县| 孟连| 榆树市| 河南省| 永靖县| 汤阴县| 阳曲县| 仙居县| 邵武市| 会东县| 江孜县| 昌吉市| 酉阳| 松溪县| 延吉市| 宝兴县| 丹寨县| 竹溪县| 黑河市| 辛集市| 石泉县| 德兴市| 泗阳县| 康乐县| 社旗县| 河津市| 威远县| 平泉县| 三台县| 嫩江县| 嘉鱼县| 伊宁县| 平和县| 西昌市| 新河县| 永修县| 龙南县| 内黄县| 南城县| 宁海县| 灌云县|