接觸充電樁項目,經過討論,選定NXP的lpc1788芯片作為我們的開發芯片,由于之前未接觸過該芯片,不可避免的犯了一些低級錯誤,先記錄下來,便于自己以后查詢和大家相互討論。
問題一 定時器2、3怎么一直不工作?
測試的時候用到定時器0、1的時候一點問題都沒有,但同樣的程序到定時2、3上就不行了,對比發現該改的控制引腳都改了啊,最后無奈翻閱芯片手冊,發現 定時器2、3需要使能,而定時器0、1則不需要,一臉黑線,為什么demo里都是定時器0.。。。
問題二 程序怎么總是跑飛
運行自己的程序時,發現一段時間就跑飛了,網上找了好多方法,最終作用都不是很大,這里總結我自己覺得最實用的兩種方法,1、對于對實時性要求不高的軟件系統來說,在大循環和小循環里加上適當的延時(一般幾十毫秒)能解決一部分問題;2、給所有在中斷里調用的變量加上一個volatile的類型約束,防止被篡改。
問題三 程序框架怎么搭
這個我真沒有什么發言權,本人就是菜鳥一只,在我看來就兩種,一種是主函數調用大循環,大循環再嵌套小循環。。。另一種就是時間片法,到指定時間允許指定的函數,看起來也是大循環嵌套小循環。。。
問題四 定時器不夠用
程序開發初期就發現4個定時器很快就被用完了,而且很多定時器多少分時重復使用的,后來慢慢研究才發現還有Systick這東西,“滴答時鐘”設置未一毫秒,然后在他的中斷里開發出無數個定時器,很好用,特別是后面涉及到后臺開發后,有很多需要定時發送的一些報文 。
上一篇:LPC1788 IAP的實現及遇見的問題
下一篇:ARM Cortex-M3的startup.s文件詳解
推薦閱讀
史海拾趣