- 博客(7)
- 收藏
- 关注
原创 MODBUS-RTU异常码
比如0x10(二进制 0001 0000)功能码的异常响应的功能码是0x90(二进制。:非法数据地址(请求中的寄存器地址超出范围)。:90(原功能码 10 的最高位设置为 1):从设备故障(从机在执行请求时发生错误)。:非法功能(从机不支持请求中的功能码)。:非法数据值(请求中的数据值不合法)。:00 0B(寄存器地址为 11):00 01(写入 1 个寄存器):01(与请求帧中的从机地址相同):00 01(写入的数据为 1):01(从机地址为 1):10(写多个寄存器):02(非法数据地址)
2025-06-26 10:47:28
1144
原创 如何减少结构体因对齐规则浪费的空间
编译器会自动对结构体成员进行对齐,这可能导致某些空间未被使用,从而增加结构体的总大小。但是在某些内存比较紧张的应用场景下,我们不得不珍惜每一个字节,这个时候就要优先考虑减少浪费,下面是几种方式以供参考。除此之外还有内存池、压缩技术,这些就是大佬使用的技术了,上面说的大多数场景都足够了。在编译阶段指定结构体按照自定义的字节数对齐(此属性并非所有平台都支持)对于位操作,可以使用位域指定每个成员占用的位数,从而精确控制内存使用。最简单的,规范成员的顺序,按照占用的字节数从小到大排列。在C语言中,结构体(
2024-07-12 14:47:43
366
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅