[Kinetis] 求助:编译实例时程序总是报warning怎么解决一下?

[复制链接]
2432|13
 楼主| wgsxsm 发表于 2013-9-11 16:36 | 显示全部楼层 |阅读模式
QQ截图20130911163620.jpg

按照网上的说法:解决办法为: ((unsigned int)1<<31),((unsigned int)2<<30),...
也无济于事,请高手帮帮忙!


ayb_ice 发表于 2013-9-11 16:58 | 显示全部楼层
1ul << 31ul
 楼主| wgsxsm 发表于 2013-9-11 17:02 | 显示全部楼层
ayb_ice 发表于 2013-9-11 16:58
1ul

还是不行
 楼主| wgsxsm 发表于 2013-9-11 17:05 | 显示全部楼层
ayb_ice 发表于 2013-9-11 16:58
1ul

QQ截图20130911163620.jpg
FSL_TICS_Robin 发表于 2013-9-11 17:19 | 显示全部楼层
能上传你的工程方便我测试下吗?
ayb_ice 发表于 2013-9-11 17:19 | 显示全部楼层
那就用#define吧

枚举确实有范围限制
 楼主| wgsxsm 发表于 2013-9-11 18:05 | 显示全部楼层
FSL_TICS_Robin 发表于 2013-9-11 17:19
能上传你的工程方便我测试下吗?

https://bbs.21ic.com/icview-619594-1-1.html
 楼主| wgsxsm 发表于 2013-9-12 00:32 | 显示全部楼层
本帖最后由 wgsxsm 于 2013-9-12 00:36 编辑
ayb_ice 发表于 2013-9-11 17:19
那就用#define吧

枚举确实有范围限制

可否详细一些呢,详细
是不是将warning的地方 comment,然后
#define    GPIO_PTD7_MASK (1<<31)  或者 0x80000000
#define    GPIO_PTH7_MASK (1<<31)  或者 0x80000000
ayb_ice 发表于 2013-9-12 08:14 | 显示全部楼层
#define GPIO_PTH7_MASK     (1ul<<31)
FSL_TICS_Robin 发表于 2013-9-12 16:51 | 显示全部楼层
我也不会,不过我去帮你问了
 楼主| wgsxsm 发表于 2013-9-12 19:12 | 显示全部楼层
ayb_ice 发表于 2013-9-12 08:14
#define GPIO_PTH7_MASK     (1ul

目前按此方法已经搞定
谢谢了
戈卫东 发表于 2013-9-14 10:51 | 显示全部楼层
枚举是按int处理的? 第32位是符号位, 于是它认为溢出了.....
其实产生的结果应该还是正确的.
戈卫东 发表于 2013-9-14 10:52 | 显示全部楼层
再把它转换成有符号的:
   ...
    GPIO_PTD7_MASK = (int32_t)(1ul<<31);
戈卫东 发表于 2013-9-14 11:09 | 显示全部楼层
我用IAR编译,你开始那个码也没有警告....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

652

帖子

4

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