打印
[STM8]

Warning[Pe188]: enumerated type mixed with another type

[复制链接]
9919|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
明月小厨|  楼主 | 2013-10-11 10:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说错处代码:
GPIO_Init(GPIOB,
      (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3),
      GPIO_MODE_IN_FL_NO_IT);
印象中在STM32中使用MDK好象是可以的;但我用IAR却不可以这样做.警告!
意思是说 :enumerated type mixed with another type
什么情况啊?
沙发
明月小厨|  楼主 | 2013-10-11 11:04 | 只看该作者
修改如下:
GPIO_Init(GPIOB,
      (GPIO_Pin_TypeDef)(GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3),
      GPIO_MODE_IN_FL_NO_IT);
编译通过;强制类型转换后没事了,谁知道是不是真的没事了呢?还没测试...

另一个处理方法:因为PB0,1,2,3正好是低4位;
所以
GPIO_Init(GPIOB, GPIO_PIN_LNIB, GPIO_MODE_IN_FL_NO_IT);

GPIO_PIN_LNIB 把    (GPIO_Pin_TypeDef)(GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3)替代掉了,应该也没事了;

使用特权

评论回复
板凳
明月小厨|  楼主 | 2013-10-11 11:08 | 只看该作者
GPIO_Init()中有以下约束检查,是不是在这里没有通过?
......
assert_param(IS_GPIO_PIN_OK(GPIO_Pin));
......

使用特权

评论回复
地板
明月小厨|  楼主 | 2013-10-11 11:09 | 只看该作者
鄙视一下,用库就是烦人;:curse:

使用特权

评论回复
5
明月小厨|  楼主 | 2014-2-7 21:37 | 只看该作者
(GPIO_Pin_TypeDef)强制转换后真的没事了;完毕!

使用特权

评论回复
6
精彩得活着| | 2015-9-10 13:00 | 只看该作者
是的 GPIO_Pin_TypeDef)用这种就可以了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:爱你一万年

35

主题

1072

帖子

2

粉丝