STM32 理解巨集定義的重要性

2021-07-09 15:57:04 字數 580 閱讀 1106

今天做stm32f107系列微控制器與adm2587e的開發時,遇到了乙個很鬱悶的問題,通過串列埠傳送資料後,微控制器接收端的指示燈亮,但沒我有返回值(通過接收標誌傳送資料)。**反反覆覆檢查好幾遍就是找不到問題的所在,鬱悶了一天啊。後來一想,應該是中斷設定那裡有問題!從**下手?。。。。。

發現乙個重大問題!

當時,查質料時,記得不同的微控制器巨集定義是不同的。哈哈,堅持乙個夢想,豬都會飛了。

至於要使用哪個巨集,則需要根據具體的晶元來進行選擇。那麼,這些巨集又對應著哪些具體的晶元呢?其實我們可以在《reference manual》的第九章中找到答案,如文件截圖:

這段話的意思很明顯,如果是stm32f105xx和stm32f107xx,是connectivity line devices,則巨集定義選擇的是stm32f10x_cl;如果是別的型號,則根據flash的容量來進行選擇。可能文字寫的有點不太清楚,還是以**

STM32的重複定義

最近在開發一款stm32f0的微控制器的專案,在寫程式的時候發現了一些關於重複定義的想法和問題。我在標頭檔案將資料變數進行了定義 ifndef usart h define usart h include sys.h define max rx length 50 u8 usart1 rx buf ...

STM32庫的理解

1 條件編譯的作用是避免重複包含 2 暫存器說白了就是記憶體,對暫存器的操作就是對記憶體的操作 3 51微控制器對暫存器是直接操作的,而stm32則是間接操作,如下圖 明白了以上三點,我們就可以來揭開庫的那層神秘的面紗了 因為我們對暫存器的操作,即對記憶體的操作,是間接的。是通過庫函式來實現的,也就...

關於STM32的變數定義

關於stm32的變數定義 分類 嵌入式系統 2014 10 15 19 03 983人閱讀 收藏 舉報 今天除錯程式時,想觀察一下變數的情況,突然發現平時經常移植別人程式時最容易忽略的乙個致命問題,那就是忽略變數型別,這裡有必要給大家一定知識啦,都是庫裡面的,非原創!3.0以後的版本中使用了cmsi...