找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1607|回复: 2
打印 上一主题 下一主题
收起左侧

用有限状态机如何通过串口助手发送字符串来操作单片机?

[复制链接]
跳转到指定楼层
楼主
怎么用有限状态机定义以下指令:
当发送“L1_ON"时,LED1点亮
当发送“L2_ON"时,LED2点亮
当发送“BEEP_ON"时,蜂鸣器响
当发送“L1_OFF"时,LED1熄灭
当发送“L2_OFF"时,LED2熄灭
当发送“BEEP_OFF"时,蜂鸣器关闭


上课师傅举的例子.png (133.32 KB, 下载次数: 72)

上课师傅举的例子.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:845808 发表于 2020-11-27 16:04 | 只看该作者
我试着改变了命令,把状态改了一下,但主要问题是不懂怎么发字符串,这里只能一个一个字符发送。
回复

使用道具 举报

板凳
ID:687694 发表于 2020-11-27 16:28 | 只看该作者
你需要自己定义一个通讯协议。
别慌!
因为串口通讯只接收一个字节,它并不能理解什么时候开始什么时候结束,字符串长度等等。
那么我们得想办法让它理解。这就是协议。
例如 :以A为开头,表示命令开始,D表示命令结束。指令4字节,共6字节命令。
AL1OND。这就是其中一个命令。程序中接收到A表示后面5位都是数据 需要存入数组,然后判断接收到的数据与协议数据哪个相等,相等的执行对应操作,这个过程叫做解析。
当然你也可以通过时间状态判断,串口接收到的数据统统存入数组,假如某个字节与上一字节时间间隔超过10ms 则认为这是2条命令。即通过时间去判断 开始与结束,解析收到的命令。这也是协议。

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表