找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于这个串口通讯程序的编写思路求指导

  [复制链接]
跳转到指定楼层
楼主
ID:230975 发表于 2019-9-24 09:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机串口通讯,能过单片机串口发送指令,比如发送3条指令,这三条指令上位机接收成功了,都回返回一个相应的字符串。三个指令都会返回符串,而这三条指令返回的。我只想接收其一条指令返回的内容。串口通讯该如何写
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:615694 发表于 2019-9-24 16:26 | 只看该作者
可以利用接收中断处理,在接收中断里做你想要的数据接收处理
回复

使用道具 举报

板凳
ID:230975 发表于 2019-9-24 22:01 | 只看该作者
接收中断开了,我发送指令,都会有信息返回。那如何能得到我想的呢
回复

使用道具 举报

地板
ID:326783 发表于 2019-9-24 22:48 | 只看该作者
过滤一下呗,要你想要的,比如设置一下第一个字节,如果是你想要的,就接收,否则不理会
回复

使用道具 举报

5#
ID:615996 发表于 2019-9-25 08:23 | 只看该作者
对其产生的程序设置一个加密程序即可
回复

使用道具 举报

6#
ID:601639 发表于 2019-9-25 08:58 | 只看该作者
不要直接让指令返回,先放到一个数组里,然后对数组进行判断,想返哪个返哪个
回复

使用道具 举报

7#
ID:213173 发表于 2019-9-25 09:04 | 只看该作者
本帖最后由 wulin 于 2019-9-25 09:21 编辑
hmgqljz111 发表于 2019-9-24 22:01
接收中断开了,我发送指令,都会有信息返回。那如何能得到我想的呢

如果上位机返回的是3条固定内容的字符串,下位机只想接收其中一条指令返回的内容。只要用一个数组预置该内容。收到的符串后与预置内容比对,符合的留下,不符合的抛弃即可。
如果上位机返回的是3条不是固定内容的字符串,下位机只想接收其中一条指令返回的内容。可以在下位机发送某条指令结束时设置一个标志位,随后会有返回的字符串,此时允许保存,标志复位。其它时间收到的字符串则抛弃。
回复

使用道具 举报

8#
ID:462827 发表于 2019-9-25 09:35 | 只看该作者
都接收,不需要的忽略。
回复

使用道具 举报

9#
ID:142699 发表于 2019-9-25 17:17 | 只看该作者
串口通讯本质就是数据的传输,一个字节一个字节的获取数据,然后对每个字节进行判断选择,获取要的数据.
回复

使用道具 举报

10#
ID:496426 发表于 2019-9-25 21:23 | 只看该作者
串口通信时,最好设置标志位,这样可以准确收到需要的字节,也可以通过串口助手调试,极其方便且准确
回复

使用道具 举报

11#
ID:429156 发表于 2019-9-26 14:22 | 只看该作者
数据位第一字节加以标记,比如发送数据9090,第一台机你加一个19090,返回10909.再复杂一点,就是加所谓的地址位。还有的在数据末尾加CRC验证数据,一帧一帧的发。这就成了数据包装了。
回复

使用道具 举报

12#
ID:272729 发表于 2019-9-26 16:08 | 只看该作者
返回的数据肯定不一样,做一下区分就好了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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