单片机
单片机开发
zzwinds
这个作者很懒,什么都没留下…
展开
-
单片机中对通信数据流分包粘包的处理机制
在使用串口或其他通信模块接收协议数据时,是以流的方式接收的,有可能1个协议包分段接收到,也有可能多个数据包一起接收到,这时需要使用通信协议预处理机制,解决分包粘包的问题。基本流程:从通信模块获取字节流,逐个字节输入到预解码模块在初始状态,寻找协议头部标志字节,如果找到,则转入协议内容接收字节,如果协议前部包含长度字段,则先转入到长度字段解码状态在长度字段解码状态,解码长度,获取剩余需要接收的字节数,然后转入协议内容接收状态在协议内容接收状态,如果剩余需要接收字节数为0,或找到协议尾部标志,则预解原创 2021-02-10 20:30:24 · 1205 阅读 · 0 评论 -
单片机中一种简单的定时器管理模块
单片机开发过程中经常要使用到定时器,对于不需精确定时的流程,可使用本模块提供的定时器进行定时及超时处理本模块管理一组定时器,其它模块可申请分配其中1个定时器,本模块对所有的已被分配的定时器进行计时,达到超时时间时,通过回调函数调用超时处理函数。通过索引定位特定的定时器,定义定时器索引:#define app_timer_hdl_t uint8_t定义:typedef void (*app_timeout_func)(void);//回调函数#define APP_TIMER_TICK_MS 20原创 2021-02-10 16:23:54 · 375 阅读 · 0 评论