【原創】mdk5宏定義的使用小結


前幾天在網上申請了一塊芯片為stm32f103cbt6的小板子。

在用keil編程的過程中發現一些小問題,總結如下:

使用mdk5開發,與之前的庫函數的引用方式已經改變。不需要在選項的c/c++標簽頁中包含外設 USE_STDPERIPH_DRIVER 了。如果在 define框里填寫了該詞,會提示找不到 stm32f10x_conf.h(這個頭文件在手動包含庫文件的方式下使用)。

選項窗口 里的 target標簽頁里的晶振參數對於具體產品沒有影響——應該是用於軟件模式的時候起作用。

我得到的小板子,晶振是12M,與 stm32f10x.h (大概在120行)定義的頻率不同。在很長時間里,我想到的辦法就是修改這個頻率的定義,但是在其他板子(8M晶振)編程的時候,又麻煩了。

其實也想到宏定義在頭文件里的120行插入自定義的宏:

#ifdef HSE_VALUE_12M
#define HSE_VALUE ((uint32_t)12000000)
#endif

但是如何啟用這個宏呢,或者先入為主的讓12M參數起作用,折騰了我很久。首先想到,在main.c里先定義宏,但是不管怎么設置,都無效。

今天在解決了stm32f10x_conf.h提示后,想到的在stm32f10x.h增加自定義,然后將HSE_VALUE_12M關鍵詞添加到define的框里。測試結果,順利解決問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM