[应用相关] 单片机怎么处理串口接收到的命令

[复制链接]
4343|109
 楼主| feiqi1 发表于 2022-9-18 17:08 | 显示全部楼层 |阅读模式
单片机串口接收到数据h0a0,h代表high, 0a0对应16进制的160, 此时 控制单片机某管脚高电平16s;
大约0.1秒后,单片机收到数据l078,l代表low,078对应16进制的120, 此时 控制单片机某管脚高电平16s;
.....
单片机收到一组不定长度的命令,例如h0a0l078h050l029h050l020 单片机控制执行一系列的通断。
求助 单片机怎么处理串口接收到的命令
litengg 发表于 2022-9-18 17:25 | 显示全部楼层
这种情况需要编制一个完整的通讯协议。
qiangweii 发表于 2022-9-18 17:34 | 显示全部楼层
命令所对应的执行动作都是按秒计时的,那么在执行期间,又收到相反的动作命令又该怎么处理。
shashaa 发表于 2022-9-18 17:42 | 显示全部楼层
这个相对简单一些,只要注意比较字符串即可.
xia00 发表于 2022-9-18 17:42 | 显示全部楼层
怎么处理串口接收到的命令是业务逻辑问题,得根据命令的含义做处理.
CallReceiver 发表于 2022-9-18 17:47 | 显示全部楼层
这个是靠通讯协议来处理的,要根据实际需求编制通讯协议。
boy1990 发表于 2022-9-18 17:48 | 显示全部楼层
直接使用串口中断处理。
boy1990 发表于 2022-9-18 17:52 | 显示全部楼层
必须约定好通信格式吧。
sourceInsight 发表于 2022-9-18 17:52 | 显示全部楼层
这个就是一个编码和译码的过程。
handleMessage 发表于 2022-9-18 17:58 | 显示全部楼层
16进制的数据好解析的呀。
zhouhuanの 发表于 2022-9-18 17:59 | 显示全部楼层
楼主最好通过协议进行访问。
bbapple 发表于 2022-9-18 18:04 | 显示全部楼层
一般使用0xff或者0x55通信。
wanglaojii 发表于 2022-9-18 18:04 | 显示全部楼层
你怎么对应写入的数据,怎么反过来读取数据。
laozhongyi 发表于 2022-9-18 18:17 | 显示全部楼层
在单片机进行解码就行了吧。
Edisons 发表于 2022-9-18 18:17 | 显示全部楼层
每一位代表什么数据的就是固定的通信格式
_gege 发表于 2022-9-18 18:22 | 显示全部楼层
如果不固定,解码的协议就不好编写的。
Mozarts 发表于 2022-9-18 18:23 | 显示全部楼层
长度不固定还不好接收呢。
Listate 发表于 2022-9-18 18:27 | 显示全部楼层
直接通信控制IO接受串口指令。
春日负喧 发表于 2022-10-13 16:25 | 显示全部楼层
正常来说,可以在中断把数据都收到,然后在子函数中处理数据

故意相遇 发表于 2022-10-13 16:47 | 显示全部楼层
这个不像是ST的串口程序嘞

您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部