标题: 关于这个串口通讯程序的编写思路求指导 [打印本页]

作者: hmgqljz111    时间: 2019-9-24 09:17
标题: 关于这个串口通讯程序的编写思路求指导
单片机串口通讯,能过单片机串口发送指令,比如发送3条指令,这三条指令上位机接收成功了,都回返回一个相应的字符串。三个指令都会返回符串,而这三条指令返回的。我只想接收其一条指令返回的内容。串口通讯该如何写

作者: QTW    时间: 2019-9-24 16:26
可以利用接收中断处理,在接收中断里做你想要的数据接收处理
作者: hmgqljz111    时间: 2019-9-24 22:01
接收中断开了,我发送指令,都会有信息返回。那如何能得到我想的呢
作者: LanSeXinQing    时间: 2019-9-24 22:48
过滤一下呗,要你想要的,比如设置一下第一个字节,如果是你想要的,就接收,否则不理会
作者: sxt520    时间: 2019-9-25 08:23
对其产生的程序设置一个加密程序即可
作者: 那个谁和谁    时间: 2019-9-25 08:58
不要直接让指令返回,先放到一个数组里,然后对数组进行判断,想返哪个返哪个
作者: wulin    时间: 2019-9-25 09:04
本帖最后由 wulin 于 2019-9-25 09:21 编辑
hmgqljz111 发表于 2019-9-24 22:01
接收中断开了,我发送指令,都会有信息返回。那如何能得到我想的呢

如果上位机返回的是3条固定内容的字符串,下位机只想接收其中一条指令返回的内容。只要用一个数组预置该内容。收到的符串后与预置内容比对,符合的留下,不符合的抛弃即可。
如果上位机返回的是3条不是固定内容的字符串,下位机只想接收其中一条指令返回的内容。可以在下位机发送某条指令结束时设置一个标志位,随后会有返回的字符串,此时允许保存,标志复位。其它时间收到的字符串则抛弃。
作者: hantu    时间: 2019-9-25 09:35
都接收,不需要的忽略。
作者: jianfeii    时间: 2019-9-25 17:17
串口通讯本质就是数据的传输,一个字节一个字节的获取数据,然后对每个字节进行判断选择,获取要的数据.
作者: ZerU    时间: 2019-9-25 21:23
串口通信时,最好设置标志位,这样可以准确收到需要的字节,也可以通过串口助手调试,极其方便且准确
作者: xiaomi_51hei    时间: 2019-9-26 14:22
数据位第一字节加以标记,比如发送数据9090,第一台机你加一个19090,返回10909.再复杂一点,就是加所谓的地址位。还有的在数据末尾加CRC验证数据,一帧一帧的发。这就成了数据包装了。
作者: 千年寂寞    时间: 2019-9-26 16:08
返回的数据肯定不一样,做一下区分就好了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1