码迷,mamicode.com
首页 > 其他好文 > 详细

C调试

时间:2014-11-20 06:43:42      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   color   sp   数据   div   log   bs   

 1 //BUF[0] BUF[1] 是传感器采集回来的值 无符号char型,ACCSUM是int型数据,目的是为了把采集回来的值放到一个变量中,然后取平均滤波,从而得到一个相对准确的数值。
 2 //采集回来的数据在0左右跳动。
 3 //
 4 //后来发现这样得到的数据完全不对,这样做是完全行不通的。
 5 //原因:左值的数据类型无法确定(实际是short型,但芯片无法还确认),直接赋值给一个int型数据会出现错误,例如负数-1(FFFF FFFF) 赋值后等于OOOO 0000 FFFF FFFF (正数)
 6 ACCSUM +=((BUF[0]<<8)|BUF[1]);
 7 //
 8 //
 9 //正确的做法是定义一个short型变量 ACCTEMP
10 //先把采集回来的16位数据存放在ACCTEMP中,在将ACCTEMP赋值给ACCSUM。这样既不会溢出也不会出现数据类型转换错误。
11 //
12 //
13 //
14 //
15 //

 

C调试

标签:style   blog   ar   color   sp   数据   div   log   bs   

原文地址:http://www.cnblogs.com/vhuichen/p/4109634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!