智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1080|回复: 6
打印 上一主题 下一主题

大家能帮我看下是这么原因吗?

[复制链接]

19

主题

159

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1646
威望
682
贡献
634
兑换币
433
注册时间
2012-12-8
在线时间
165 小时
跳转到指定楼层
1#
发表于 2013-2-27 21:01:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yEs、先生 于 2013-2-27 21:11 编辑

void  Color_Display(uint i)
{
  uchar m,n;
        m=i>>8;
        n=i;
        Write_Data1(m,n);
}
其中i是个16位数据,把16位数据的高八位与低八位分别取出来放进m、n   
这个程序在KEIL上编译没有警告,为什么在Codewarrior上警告中间两行 possible loss of data ?  要这么修改才能消除警告呢?谢谢大神们帮我看看

17

主题

182

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2657
QQ
威望
1293
贡献
758
兑换币
267
注册时间
2012-5-11
在线时间
303 小时
2#
发表于 2013-2-27 21:06:29 | 只看该作者
m右移8位就是除以256.你定义m为无符号型,即m最大为255,所以可能丢失数据
回复 支持 反对

使用道具 举报

19

主题

159

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1646
威望
682
贡献
634
兑换币
433
注册时间
2012-12-8
在线时间
165 小时
3#
 楼主| 发表于 2013-2-27 21:09:14 | 只看该作者
xc229876115 发表于 2013-2-27 21:06
m右移8位就是除以256.你定义m为无符号型,即m最大为255,所以可能丢失数据

这个函数就是要分别取出高八位与低八位,那要怎么才能消除警告呢
回复 支持 反对

使用道具 举报

16

主题

1229

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7678

优秀会员奖章论坛元老奖章活跃会员奖章在线王奖章

QQ
威望
3484
贡献
2020
兑换币
1673
注册时间
2011-9-8
在线时间
1087 小时
4#
发表于 2013-2-27 21:28:42 | 只看该作者
yEs、先生 发表于 2013-2-27 21:09
这个函数就是要分别取出高八位与低八位,那要怎么才能消除警告呢

强制转换
回复 支持 反对

使用道具 举报

19

主题

159

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1646
威望
682
贡献
634
兑换币
433
注册时间
2012-12-8
在线时间
165 小时
5#
 楼主| 发表于 2013-2-27 21:29:24 | 只看该作者
ganlei 发表于 2013-2-27 21:28
强制转换

就是不管警告吗
回复 支持 反对

使用道具 举报

16

主题

1229

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7678

优秀会员奖章论坛元老奖章活跃会员奖章在线王奖章

QQ
威望
3484
贡献
2020
兑换币
1673
注册时间
2011-9-8
在线时间
1087 小时
6#
发表于 2013-2-27 21:30:22 | 只看该作者
yEs、先生 发表于 2013-2-27 21:29
就是不管警告吗

转换了就没有警告了
回复 支持 反对

使用道具 举报

2

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
931
QQ
威望
566
贡献
239
兑换币
19
注册时间
2011-8-4
在线时间
63 小时
7#
发表于 2013-3-5 11:38:12 | 只看该作者
m=(uchar)(i>>8);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-23 12:33 , Processed in 0.113988 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表