【原创】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的框里。测试结果,顺利解决问题。

posted @ 2016-09-29 11:10  蓝色牧客  阅读(4795)  评论(0编辑  收藏  举报