1、巨集定義。例如
#define debug_log printf
#define degug_log(...) printf(...)
2、51核心的堆疊空間只在pdata區。程式設計中,對於函式巢狀較多層,容易引起堆疊溢位的情況(程式執行至0xffff位址),因而需要減少函式的巢狀。
3、51核心程式設計注意區域性變數和全域性變數的位置和大小。51核心區域性變數位置選擇 「memory model」。程式中儘量減少變數的呼叫,當變數較多的時候,會引起「error l107: address space overflow」。
4、8051核心微控制器絕對位址( _at_ )定義的變數,宣告時,不能初始化。
char xdata test_value _at_ 0x8000;
5、8051核心程式設計,使用keil進行程式設計時,未呼叫函式的區域性變數和形參會儲存在ram中,占用一定的記憶體空間。需要注意以下警告。
*** warning l16: uncalled segment, ignored for overlay process
segment: ?pr?_del_dir?fs_delete
微控制器選用注意事項
在實際的工作中,經常出現因為rd人員的設計 疏忽 導致試產失敗。這個疏忽要加上引號,是因為這並不是真正的粗心造成的,而是對生產工藝的不熟悉而導致的。為了避免各位做rd的朋友出現同樣的錯誤,或為了更好的完成試產我對一些常見的問題點做一些總結,希望能對大家有所幫助。1 ic封裝的選擇。現在電子產品都在向...
微控制器裸機程式設計注意事項總結
微控制器程式設計和pc端程式設計有所不同,筆者根據已有的粗淺的程式設計經驗,列寫幾個認為比較重要的點。首先對文中的名詞作適當的約定。文章的 事件 可理解為 中斷 每乙個 中斷 發生時,isr將傳送對應於該 事件 的 訊息 事件 通常理解為 非同步事件 為了方便,即使是固定週期的定時中斷,亦稱為 非同...
微控制器嵌入式程式設計的五個注意事項
在微控制器程式設計的過程中,如果一名設計者能夠同時掌握多門程式語言,那麼這名設計者肯定是一位非常優秀的人才。但是想要同時精通彙編 c語言 c 這三門語言實在是太難了,很多初學者在其中一門的學習中就已經到處碰壁,苦不堪言。本文特意為大家整理了擁有嵌入式程式設計領域多年工作經驗的工程師意見,彙總成了一篇...