通信协议解析神器:函数指针 每增加一个功能,则多编写一个功能函数,除此之外,还需要在协议解析处改动,需要改很多地方,非常的不方便.以下介绍一下利用函数指针,实现回调函数形式解析协议。这两个文件只是这种方法的模板,只要你愿你可以为你的所有模块功能都按照用例那样配置属于每个模块的独有回调群。由于以上代码是用world手撸的(公司外网限制,没办法),如有错误还请留言,如有更好的改良方案,欢迎留言讨论!用户只需要增加协议的cmd、用户函数、将两个参数注册进注册表中进行邦定,当相应的协议到来时即可调用相应的用户函数,极大拓展了程序的可扩展性。
你懂 “锟斤拷烫烫烫“ 吗 1963 年 ANSI(美国国家标准学会)推出了 ASCII,ASCII 支持 0-9 的阿拉伯数字,小写英文字母,大写英文字母以及常用的英文字符以及控制字符(NUL、SOH、ETX、EOT、BS、ESC、sp..)。每个字符都有对应的数字叫做码点(0-127)。由于计算机使用 8bit 为基本单位进行读写的,因此 ASCII 码点都会在前面补 0 ,比如大写字母 A 对应的码点是 65(二进制 1000001),在计算机读写时就会在二进制格式前补 0,即 01000001。Ascll 看起来非常..
深入NXP蓝牙SDK开发(x)---深挖BLE蓝牙协议栈配对过程(3)_密钥分发 深挖蓝牙BLE配对过程系列文章其三:密钥分发;记录笔者查阅大量文章,努力翻译Core_v4.2以上版本标准的学习成果;介绍低功耗蓝牙BLE协议栈配对连接过程系列文章,本文仅为其中一小部分,带自己深入探讨蓝牙协议栈
深入NXP蓝牙SDK开发(x)---深挖BLE蓝牙协议栈配对过程(2)_配对密钥生成(LTK | STK) 深挖蓝牙BLE配对过程系列文章其二:密钥生成;记录笔者查阅大量文章,努力翻译Core_v4.2以上版本标准的学习成果;介绍低功耗蓝牙BLE协议栈配对连接过程系列文章,本文仅为其中一小部分,带自己深入探讨蓝牙协议栈
深入NXP蓝牙SDK开发(x)---深挖BLE蓝牙协议栈配对过程(1)_配对特性交换 深挖蓝牙BLE配对过程系列文章其一:配对特性交换。记录笔者查阅大量文章,努力翻译Core_v4.2以上版本标准的学习成果;介绍低功耗蓝牙BLE协议栈配对连接过程系列文章,本文仅为其中一小部分,带自己深入探讨蓝牙协议栈
ADRC自抗扰控制,有手就行 由于串级PID还没搞定,就转向了自抗扰控制,用STM32控制无刷电机做了一个ADRC速度闭环,没静差是真的,但感觉也没想象中那么强,就写篇博文记录一下ADRC大概的使用方法和调参大致的方向。
深入详解PID三项的作用与特性(抛开公式,以常识认识PID) 本文是本人看了众多的PID算法文献,结合自己理解,由浅入深理解PID以及记录自己的理解。大部分内容来源于其他文献,但无法一一列举,尽量列出能找到的源文献,如无意冒犯,望联系删改帖。先讲述PID后进行无仿真参数比例增益、积分增益、微分增益、积分时间、微分时间的整定(经验整定),最后以最近的平衡小车项目实例讲述。后续引入模糊PID算法原理与实现
STM32 I/O引脚烧坏现象,检测方法以及原因分析 在使用单片机的时候,难免有时候会遇到过压或者过流把单片机i/o引脚打坏,特别是在单片机i/o口控制电机的时候。笔者就最近一个项目中烧坏过两次。第一次没有细查原因,因为不知名的偶发原因也会导致单片机i/o引脚烧坏月,直接更换了单片机就能用了;但第二次烧坏的时候,感觉事发非偶然,值得去分析以及解决。