找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 1848 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-11-27 14:51

正文摘要:

怎么用有限状态机定义以下指令:当发送“L1_ON"时,LED1点亮当发送“L2_ON"时,LED2点亮当发送“BEEP_ON"时,蜂鸣器响当发送“L1_OFF"时,LED1熄灭当发送“L2_OFF"时,LED2熄灭当发送“BEEP_OFF"时,蜂 ...

回复

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

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

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

Powered by 单片机教程网

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