
C学习
smaller_maple
这个作者很懒,什么都没留下…
展开
-
自用clang-format样板
---Language: Cpp# BasedOnStyle: LLVMAccessModifierOffset: -2AlignAfterOpenBracket: AlignAlignConsecutiveMacros: falseAlignConsecutiveAssignments: falseAlignConsecutiveBitFields: falseAlignConsecutiveDeclarations: falseAlignEscapedNewlines.原创 2021-10-29 13:56:13 · 324 阅读 · 0 评论 -
modbus校验算法
最近用到modbus校验,就顺便用之前写的方法重编辑了一下modbus的校验。2中计算方法:查表法(需要提前生成表格),直接计算法(需要先计算出表格再进行查表);初值计算就不写了:参考预定义参数:#ifdef _X86_typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned int uint32_t;typedef unsigned char byte;typedef c.原创 2021-10-09 17:02:17 · 2640 阅读 · 0 评论 -
常用宏记录
传入类型:#define min_t(type,x,y) \ ({ \ type __x = (x); \ type __y = (y); \ __x < __y ? __x:__y;/* 结果返回 */ \ })无传入类型:#define min(x,y) \ ({ \ const typeof(x) _x = (x); \ const typeof(y) _y原创 2021-07-26 14:03:44 · 157 阅读 · 0 评论 -
CDT协议中crc8校验算法
本文计算方法均参考他人文档:参考一:关于部颁CDT规约中校验码的算法参考二:无线通信协议与设计算法1:void crc8_CDT_init(uint32_t poly) { uint16_t crc; for (int i = 0, j; i < 256; i++) { crc = 0x00FF & i; for (j = 0; j < 8; j++) { crc = 0x00FF & (((crc ..原创 2021-05-04 17:05:05 · 784 阅读 · 0 评论 -
关于crc随笔
首先是crc的计算过程//计算CRC 1.先要知道多项式是什么样子, 以这个IEEE802.3标准CRC32多项式为例:x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x+ 1 2.转换成一个值 (通过这个初值可以生成crc多项式对应的数组表) x32 则对应32bit = 1, x26 则对应26bit=1,得出一个值:(1<<32)|(1<...原创 2021-04-22 11:07:36 · 586 阅读 · 0 评论