• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32编译前怎么配置MDK中C/C++中的define?

shiyu 2018-08-27 浏览量:4763
在STM32中,MDK编译前要添加C/C++选项中的宏定义,比如:STM32L4R5xxUSE_HAL_DRIVERUSE_STM32L4XX_NUCLEO_144;它的作用是预编译处理,问题是这些填充的宏定义在那里找的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • QQ截图20180827153127.png


    项目右键,option C/C++      Define栏就是


    • 发布于 2018-08-27
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:16
  • 到目前为止这个都是固定的型号,填进去的字都是固定的,现照这个抄吧,不过这个好像跟整个程序的预编译有关系,整个流程还是相对复杂的
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 1
    • 0

  • 魔术棒里面C++设置头文件路径就可以了
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 这里有些使用在ST库函数里面,他的库函数是通用型的通过这个宏定义可以做相应的预处理。还有你可以在这里面定义你自己的一些宏定义。
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 这里有些使用在ST库函数里面,他的库函数是通用型的通过这个宏定义可以做相应的预处理。还有你可以在这里面定义你自己的一些宏定义。
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 我感觉就是照着例程抄的,后面也许可以研究下
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 问这个问题的,都是没有精度代码的人。读一遍代码就知道为啥要设置这个宏定义了。

    工程文件引用一些库文件,哪些文件对整个产品线是通用的,信号不同就是用宏定义来区分

    你用的产品型号是特定的一个型号,使用的是通用的文件,当然需要一个宏定义来匹配自己的型号

    • 发布于2018-08-27
    • 举报
    • 评论 3
    • 0
    • 0
shiyu 回复了 robe_zhang :你确定看清楚我问的问题了? 回复
robe_zhang 回复了 shiyu :确定看清楚了,这个宏定义没有定义任何东西,只是代码中用到了这个宏定义,你添加这个宏就是个开关。比如你写一个代码,#ifdef DEBUG;printf("aaa").#endif. 你定义DEBUG就打印,不定义不打印。这个宏任何地方都没有定义,靠你自己定义 回复
robe_zhang 回复了 shiyu :全工程搜索你这两个宏,不就搞明白了。STM32L4R5xxUSE_HAL_DRIVER USE_STM32L4XX_NUCLEO_144 回复

  • MDK预编译处理有两种添加方式,一个是在.h头文件中直接添加,一个是在工程的C/C++配置选项卡中输入字符进行添加。

    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 在工程选项里面的C/C++中的deine可以添加相关的预编译内容
    • 发布于2018-08-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 在库文件中的头文件中,有条件编译的选项
    • 发布于2018-08-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 在工程项目的option设置里可以找到类似的宏定义。
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

  • keil的工程配置目录即魔术棒是可以直接定义全局变量的,在define处增加定义字符串即可。
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 要根据自己芯片的类型,更改宏定义。

    可以打开stm32f10x.h文件,往下拉可以看见:

    QQ截图20180907215115.jpg


    STM32F10X_LD 对应于 LowDensity ,即小容量的STM32F103、101
    STM32F10X_MD 对应于 MediumDensity ,即中等容量的STM32F103、101
    STM32F10X_HD 对应于 HighDensity ,即大容量的STM32F103、101
    再比如

    ​STM32F10X_LD_VL 对应于 LowDensity ValueLine,即小容量的STM32F100​

    • 发布于2018-09-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个在你的头文件里面就可以设置,官方的启动文件里面可以修改
    • 发布于2018-09-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要跟你的目标芯片配置成一样,两者对应才可以正常启动的
    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个define是根据不同的芯片Flash大小进行区分的,在头文件中都有定义的
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32编译前怎么配置MDK中C/C++中的define?