單片機C語(yǔ)言程序結構容易出問(wèn)題的有一下幾點(diǎn)
定義全局變量unsigend num
本文引用地址:http://dyxdggzs.com/article/201612/324286.htm在子程序里面改變num值,同時(shí)在中斷里面也改變num值,最后得到意向不到的值,容易出錯
若要這樣改變則定義變量前面加volatile unsigend num
二,中斷調用
主程序調用子程序,同時(shí)中斷函數里面也調用該子程序,這樣容易出錯
建議:中斷里面不要調用子程序,
若要調用子程序則,則該子程序為唯一被中斷調用。
三,程序開(kāi)頭沒(méi)加延時(shí)
開(kāi)始的時(shí)候沒(méi)加延時(shí),很危險,上電電源電壓波動(dòng)較大,若一上電單片機就執行重要的命令的話(huà),就容易出問(wèn)題
特別是對內部eeprom的讀寫(xiě),讀取數據出錯,導致意向不到的后果。讀寫(xiě)數據都需要比較穩定的電壓。
親,上電延時(shí)個(gè)10毫秒,等到電壓穩定后,再執行命令,不會(huì )影響正常工作,又有保障不是更好
四,競爭與冒險
檢測需加多次判斷,以防干擾。
多次判斷需要浪費一點(diǎn)時(shí)間,這個(gè)時(shí)間是在允許的范圍內。
評論