完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在配置Keil的Preprocessor Symbols 选项的时候没有进行预处理USE_STDPERIPH_DRIVER和STM32F10X_MD(如图1)
根据头文件应该不会引用stm32f10x_conf.h啊。可是为什么就引用了(如图2) 还有设备密度我也没选。我就添加了文件。也没进行宏定义(如图1、图3、图4)。为什么中断自己能找到中断入口呢??? |
|
相关推荐
15个回答
|
|
我用一下方法找到定义了STM32F10X_MD,对这个RTE不熟,找不到在哪儿定义的。_RTE_就是你现在用到的驱动。
#if defined (STM32F10X_LD) #error "STM32F10X_LD" #endif #if defined (STM32F10X_LD_VL) #error "STM32F10X_LD_VL" #endif #if defined (STM32F10X_MD) #error "STM32F10X_MD" #endif #if defined (STM32F10X_MD_VL) #error "STM32F10X_MD_VL" #endif #if defined (STM32F10X_HD) #error "STM32F10X_HD" #endif #if defined (STM32F10X_HD_VL) #error "STM32F10X_HD_VL" #endif #if defined (STM32F10X_XL) #error "STM32F10X_XL" #endif #if defined (STM32F10X_CL) #error "STM32F10X_CL" #endif |
|
|
|
是我自己写的。测试一下哪个定义了。后面的是工程配置选项中。
|
|
|
|
我只是举例说明,楼主可以看一下到底是哪个地方对这个进行的处理。
|
|
|
|
|
|
|
|
找到了USE_STDPERIPH_DRIVER 的预处理。但是好像没有找到STM32F10X_MD的预处理。KEIL-5好像不用预处理STM32F10X_MD???KEIL4可不可以也不写STM32F10X_MD??? |
|
|
|
有,楼主可以看一下10x.h文件。
|
|
|
|
没找到#define STM32F10X_MD。。是stm32f103x.h吗?第几行啊? |
|
|
|
楼主看一下,仔细看开头的几行,我的版本可能和你的不一样。但是都有对应的处理的。默认的芯片类型等。比如下面的代码:
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL) /* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices */ /* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */ /* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices */ /* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */ /* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices */ /* #define STM32F10X_HD_VL */ /*!< STM32F10X_HD_VL: STM32 High density value line devices */ /* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices */ /* #define STM32F10X_CL */ /*!< STM32F10X_CL: STM32 Connectivity line devices */ #endif |
|
|
|
TOPCB 发表于 2018-11-9 16:35 本帖最后由 小刀十六式 于 2016-8-25 17:16 编辑 嗯!#if !defined 预编译。假如STM32F10X的这些设备密度都没有定义就执行下面!可是下面都是注释掉的啊! 所以还是没有#defined STM32F10X_MD |
|
|
|
搜了一下。有宏定义的就只有你写的这里了。 /* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices */ |
|
|
|
把你工程上传一下
|
|
|
|
建议在配置里面定义宏。这样文件就不用每次都修改。可以适配不同型号处理器
|
|
|
|
|
|
|
|
|
|
|
|
使用了默认的配置了吧。 个人建议还是配置上,起码使用者自己心里明白。 如果不配置将来真出什么问题,还真不好排查。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:13 , Processed in 0.757355 second(s), Total 68, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号