[STM8] Warning[Pe188]: enumerated type mixed with another type

[复制链接]
 楼主| 明月小厨 发表于 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:
 楼主| 明月小厨 发表于 2014-2-7 21:37 | 显示全部楼层
(GPIO_Pin_TypeDef)强制转换后真的没事了;完毕!
精彩得活着 发表于 2015-9-10 13:00 | 显示全部楼层
是的 GPIO_Pin_TypeDef)用这种就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:爱你一万年

35

主题

1072

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:爱你一万年

35

主题

1072

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部