嵌入式开发问题

1、大、小端模式

摩托罗拉为大端格式,modbus、网络数据、powerPC也是大端格式;

Intel系列单片机为小端格式,包括奔腾系列PC机,ARM、OMAP,低字节存在地位,高字节存在高位。

对于数据0x0055

内存地址

大端格式

小端格式

0x0010

0x00

0x55

0x0011

0x55

0x00

2、负数、补码

计算机(单片机)中负数以补码形式存在,负数的补码 = 其相反数取反+1

调试中如果负数以16进制显示,则其值=(显示值-1)取反

Uint16 – int16 不需要将被减数转换为int32,直接运算的结果就是正确的,结果需要转换为int16再赋值。

 

3、CRC校验

CRC定义在尾部,新增参数时,若新增参数后CRC对应的位置值为0,则CRC校验正确;

 

4、Fp32有效位数为7位造成的精度丢失

value32fp = ( (float)value/pCurReg->Scale630 );     /*void型转32位指针*/

Value 4275738240

pCurReg->Scale630 1000

value32fp的运行结果为4275738.0000

误差在整形赋值给浮点时产生;

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值