STM32|STM32 学习日记(一)通讯协议

通信协议 1.通讯协议是什么?
简单来讲就是暗号。
可以说是一个单片机向另外一个单片机,用串口发送信息时要加暗号,暗号对,自己人。暗号错,拒绝并警惕。
2.通讯协议的内容是什么?
简答来说是数据。
1.普通协议,适合自主开发
数据包含 数据包开始标志+数据长度+任务号+执行数据+校验和+数据包结束标志(也是中断接收完成的标志,由多个十六进制数组成,并且要保证接执行数据中不存在的)
上代码:

if(USART3_RX_STA&0x8000)//接收完成的标志 { len=USART3_RX_STA&0x3fff; USART3_RX_STA=0; if(USART3_RX_BUF[0]==0x0a&&USART3_RX_BUF[len-1]==0x08) { if(USART3_RX_BUF[1]==len) { check=0; for(i=1; i

【STM32|STM32 学习日记(一)通讯协议】测试 0a 07 01 02 02 0c 08 0d 0a
注释看图吧,复制过来乱码了
STM32|STM32 学习日记(一)通讯协议
文章图片

STM32|STM32 学习日记(一)通讯协议
文章图片

注意的是:一定要避免通讯堵塞,一要设置最大接收数据长度,二是定时。
置最大接收数据数据长度:要合理
任务超时:计算最大的数据传输时长为界限
STM32F1通信协议代码,希望各位支持一下
STM32F4通信协议代码,希望各位支持一下
程序是一样的,我没有f7的开发板,如果有需要的,我就弄个f7的。
2.MOTERCTR协议,适合互联网开发
其实MOTERCTR协议就是CRC校验,就是一堆数据最后两位为CRC检验。
如图:
STM32|STM32 学习日记(一)通讯协议
文章图片

STM32|STM32 学习日记(一)通讯协议
文章图片

STM32|STM32 学习日记(一)通讯协议
文章图片

接收一堆数据,计数它的高8位和底8位这两个校验位是否正确·,正确自己人,错误拒绝并警惕。
STM32F7课程学习的程序代码,来自老师手笔
若有需求,私信我,我就更改为F1或F4的程序。
通讯协议不仅仅是个协议,更是程序的生命,协议一定要复杂点,那么别人就不能轻易黑你的产品,现在流行手机当作上位机,大家有兴趣,就下载我弄的app源码,修改成您的专属产品
WIFI调试代码,可自己尝试开发

    推荐阅读