打印
[应用相关]

单片机怎么处理串口接收到的命令

[复制链接]
2901|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 | 只看该作者
这个相对简单一些,只要注意比较字符串即可.

使用特权

评论回复
5
xia00| | 2022-9-18 17:42 | 只看该作者
怎么处理串口接收到的命令是业务逻辑问题,得根据命令的含义做处理.

使用特权

评论回复
6
CallReceiver| | 2022-9-18 17:47 | 只看该作者
这个是靠通讯协议来处理的,要根据实际需求编制通讯协议。

使用特权

评论回复
7
boy1990| | 2022-9-18 17:48 | 只看该作者
直接使用串口中断处理。

使用特权

评论回复
8
boy1990| | 2022-9-18 17:52 | 只看该作者
必须约定好通信格式吧。

使用特权

评论回复
9
sourceInsight| | 2022-9-18 17:52 | 只看该作者
这个就是一个编码和译码的过程。

使用特权

评论回复
10
handleMessage| | 2022-9-18 17:58 | 只看该作者
16进制的数据好解析的呀。

使用特权

评论回复
11
zhouhuanの| | 2022-9-18 17:59 | 只看该作者
楼主最好通过协议进行访问。

使用特权

评论回复
12
bbapple| | 2022-9-18 18:04 | 只看该作者
一般使用0xff或者0x55通信。

使用特权

评论回复
13
wanglaojii| | 2022-9-18 18:04 | 只看该作者
你怎么对应写入的数据,怎么反过来读取数据。

使用特权

评论回复
14
laozhongyi| | 2022-9-18 18:17 | 只看该作者
在单片机进行解码就行了吧。

使用特权

评论回复
15
Edisons| | 2022-9-18 18:17 | 只看该作者
每一位代表什么数据的就是固定的通信格式

使用特权

评论回复
16
_gege| | 2022-9-18 18:22 | 只看该作者
如果不固定,解码的协议就不好编写的。

使用特权

评论回复
17
Mozarts| | 2022-9-18 18:23 | 只看该作者
长度不固定还不好接收呢。

使用特权

评论回复
18
Listate| | 2022-9-18 18:27 | 只看该作者
直接通信控制IO接受串口指令。

使用特权

评论回复
19
春日负喧| | 2022-10-13 16:25 | 只看该作者
正常来说,可以在中断把数据都收到,然后在子函数中处理数据

使用特权

评论回复
20
故意相遇| | 2022-10-13 16:47 | 只看该作者
这个不像是ST的串口程序嘞

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝