打印
[应用相关]

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

[复制链接]
760|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xia00|  楼主 | 2020-6-25 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机串口接收到数据h0a0,h代表high, 0a0对应16进制的160, 此时 控制单片机某管脚高电平16s;
大约0.1秒后,单片机收到数据l078,l代表low,078对应16进制的120, 此时 控制单片机某管脚高电平16s;
.....
单片机收到一组不定长度的命令,例如h0a0l078h050l029h050l020 单片机控制执行一系列的通断。
求助 单片机怎么处理串口接收到的命令

使用特权

评论回复
沙发
CallReceiver| | 2020-6-25 21:28 | 只看该作者
这种情况需要编制一个完整的通讯协议。。。

使用特权

评论回复
板凳
boy1990| | 2020-6-25 21:28 | 只看该作者
看你的需求,命令所对应的执行动作都是按秒计时的,那么在执行期间,又收到相反的动作命令又该怎么处理。

使用特权

评论回复
地板
sourceInsight| | 2020-6-25 21:34 | 只看该作者
这个相对简单一些,只要注意比较字符串即可

使用特权

评论回复
5
feiqi1| | 2020-6-25 21:35 | 只看该作者
怎么处理串口接收到的命令是业务逻辑问题,得根据命令的含义做处理

使用特权

评论回复
6
androidbus| | 2020-6-25 21:40 | 只看该作者
这个是靠通讯协议来处理的,要根据实际需求编制通讯协议。

使用特权

评论回复
7
litengg| | 2020-6-25 21:41 | 只看该作者
直接使用串口中断处理。这个有通信协议吗?

使用特权

评论回复
8
qiangweii| | 2020-6-25 21:47 | 只看该作者
这个就是一个编码和译码的过程。

使用特权

评论回复
9
shashaa| | 2020-6-25 21:48 | 只看该作者
16进制的数据好解析的。

使用特权

评论回复
10
wanglaojii| | 2020-6-25 21:53 | 只看该作者
楼主最好通过协议进行访问。

使用特权

评论回复
11
laozhongyi| | 2020-6-25 21:54 | 只看该作者
一般使用0xff或者0x55通信。

使用特权

评论回复
12
Edisons| | 2020-6-25 22:01 | 只看该作者
你怎么对应写入的数据,怎么反过来读取数据。

使用特权

评论回复
13
_gege| | 2020-6-25 22:01 | 只看该作者
在单片机进行解码就行。

使用特权

评论回复
14
Mozarts| | 2020-6-25 22:07 | 只看该作者
每一位代表什么数据的....,.

使用特权

评论回复
15
Listate| | 2020-6-25 22:08 | 只看该作者
key 在串口接收数据并处理。

使用特权

评论回复
16
zhouhuanの| | 2020-6-25 22:13 | 只看该作者
如果不固定,解码的协议就不好编写的。

使用特权

评论回复
17
bbapple| | 2020-6-25 22:13 | 只看该作者
长度不固定还不好接收呢。是吧

使用特权

评论回复
18
handleMessage| | 2020-6-25 22:18 | 只看该作者
建议可以直接通信控制IO接受串口指令。

使用特权

评论回复
19
晓伍| | 2020-7-10 15:53 | 只看该作者
时间值是怎么得到的啊?

使用特权

评论回复
20
八层楼| | 2020-7-10 15:53 | 只看该作者
最好不要在中断函数里边处理

使用特权

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

本版积分规则

179

主题

1867

帖子

1

粉丝