问题汇总20240206——角度随机游走、字符与字节、SWaP、跨平台通讯问题、#park

文章目录

    • 角度随机游走
    • 字符与字节
    • SWaP
    • 跨平台通讯过程中必须考虑以下问题:
    • #park指令

角度随机游走

1.角度随时间变化是随机过程,即角度在时间上的随机漂移
降低:温度稳定、校准、误差补偿、数据滤波(卡尔曼)降低环境因素带来的干扰,例如振动或噪声。
但总的来说不可能完全消除。

字符与字节

字符:字母、数字、文本、标点等。
不同的标准下的字符与字节的换算是不同的:
ASCII、UTF-8:1字符=1字节=8bits
UTF-16:1字符=2字节=16bits
UTF-32:1字符=4字节=32bits

SWaP

Size、Weight、and Power的缩写,在IMU中常指:大小、重量、和功耗。

跨平台通讯过程中必须考虑以下问题:

  1. 内存对齐
  2. 大小端问题

解决办法:
强制按照某字节对齐,且发送前转换大小端。强制字节对齐的方法:

  1. 字节对齐可以参考这篇文章:https://zhuanlan.zhihu.com/p/492839494
  2. 使用#prama park(n)伪指令,成员本身字节对齐和结构体本身对齐大小不能大于n,只能小。可以参考这篇文章https://cn.bing.com/search?q=%23pack%E5%85%B3%E9%94%AE%E5%AD%97&qs=n&form=QBRE&sp=-1&lq=0&pq=%23pack%E5%85%B3%E9%94%AE%E5%AD%97&sc=0-8&sk=&cvid=13E630E848F7420F976E0508726AC692&ghsh=0&ghacc=0&ghpl=
  3. 文章中还提到了另一种方法,我没有验证过,大家可以验证使用使用__attribute((aligned(n))),操作结构体时对结构体本身对齐。
  4. 字节排序问题可以看这篇文章https://blog.csdn.net/Lemon_D1999/article/details/135357114#:~:text=1%20htonl%20%28%29%20%EF%BC%88Host%20to%20Network%20Long%EF%BC%89%E5%87%BD%E6%95%B0%E7%94%A8%E4%BA%8E%E5%B0%86%E4%B8%80%E4%B8%AA32%E4%BD%8D%E6%95%B4%E6%95%B0%E4%BB%8E%E4%B8%BB%E6%9C%BA%E5%AD%97%E8%8A%82%E9%A1%BA%E5%BA%8F%E8%BD%AC%E6%8D%A2%E4%B8%BA%E7%BD%91%E7%BB%9C%E5%AD%97%E8%8A%82%E9%A1%BA%E5%BA%8F%E3%80%82%202,Long%EF%BC%89%E5%87%BD%E6%95%B0%E7%94%A8%E4%BA%8E%E5%B0%86%E4%B8%80%E4%B8%AA32%E4%BD%8D%E6%95%B4%E6%95%B0%E4%BB%8E%E7%BD%91%E7%BB%9C%E5%AD%97%E8%8A%82%E9%A1%BA%E5%BA%8F%E8%BD%AC%E6%8D%A2%E4%B8%BA%E4%B8%BB%E6%9C%BA%E5%AD%97%E8%8A%82%E9%A1%BA%E5%BA%8F%E3%80%82%204%20ntohs%20%28%29%20%EF%BC%88Network%20to%20Host%20Short%EF%BC%89%E5%87%BD%E6%95%B0%E7%94%A8%E4%BA%8E%E5%B0%86%E4%B8%80%E4%B8%AA16%E4%BD%8D%E6%95%B4%E6%95%B0%E4%BB%8E%E7%BD%91%E7%BB%9C%E5%AD%97%E8%8A%82%E9%A1%BA%E5%BA%8F%E8%BD%AC%E6%8D%A2%E4%B8%BA%E4%B8%BB%E6%9C%BA%E5%AD%97%E8%8A%82%E9%A1%BA%E5%BA%8F%E3%80%82

#park指令

改变缺省的对界条件(指定对界)
· 使用伪指令#pragma pack (n),编译器将按照n个字节对齐。
· 使用伪指令#pragma pack (),取消自定义字节对齐方式。

关于#park指令可以看这篇:https://zhuanlan.zhihu.com/p/519973291
其中需要注意的就是:
一般都是按照对齐字节,如果在#park期间字节数大于对齐字节,则大于字节的定义还按照原来的大小,具体这篇文章有示例。

你可能感兴趣的:(问题汇总,经验分享,学习,笔记,嵌入式硬件)