1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) #define GPIOC ((GPIO_TypeDef *) GPIOC_BASE) #define GPIOD ((GPIO_TypeDef *) GPIOD_BASE) #define GPIOE ((GPIO_TypeDef *) GPIOE_BASE) #define GPIOF ((GPIO_TypeDef *) GPIOF_BASE) #define GPIOG ((GPIO_TypeDef *) GPIOG_BASE) 以上是STM32f10x.h里的宏定义。 我的问题是:能像下面这样用吗? typedef enum { GPIOB , //PB端口 GPIOE //PE端口 } GPIOX; |
|
相关推荐
16个回答
|
|
|
|
|
|
|
|
|
|
大神求解。。。
|
|
|
|
|
|
|
|
是不可以的,宏定义时一种标志符定义,枚举也是一种标志符定义。
但是枚举只能用来整型常数定义,在不初始化的情况下,枚举默认第一个是0,后面只会顺序加1。 像楼主的定义一般编译器会报错的,可以理解为是重复定义。 希望能解决楼主的疑问。 |
|
|
|
是GPIOA_BASE替换GPIOA吗? 大神诉我无知
|
|
|
|
但是我赋初值还是不对
|
|
|
|
typedef enum
{ ((GPIO_TypeDef *) GPIOB_BASE) , //PB端口 ((GPIO_TypeDef *) GPIOE_BASE) //PE端口 } GPIOX; |
|
|
|
难道我就能在不同的头文件里面一个定义枚举一个定义成宏定义,标识符是一样的都不行?
|
|
|
|
不对,哦,这个GPIOB_BASE也是一个宏定义
|
|
|
|
啊,我懂了,有了宏定义,这个标识符不能乱修改,谢谢了!!!
|
|
|
|
枚举的成员只能是未被使用标示符
|
|
|
|
楼主,经过验证是否能把宏定义的标识符作为枚举的成员呢?
|
|
|
|
|
|
那楼主怎么还把二楼设成了最佳答案?
|
|
|
|
之前很早就设了
|
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4483 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
358浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
367浏览 2评论
383浏览 2评论
383浏览 2评论
439浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 00:40 , Processed in 1.347108 second(s), Total 108, Slave 92 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号