找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1216|回复: 19
收起左侧

单片机串口发送一个字节,为什么返回两个字节呢?

[复制链接]
ID:1093575 发表于 2023-9-14 23:20 来自手机 | 显示全部楼层 |阅读模式
串口设置了相同的传输速率,发送一个字节,应是返回一个字节,实际上返回了两个字节,请问哪里有问题呢
45c43dc5d4faded0.png
回复

使用道具 举报

ID:94031 发表于 2023-9-15 06:07 | 显示全部楼层
从你给的程序,说明不了你发一个字节应返回一个字节。
回复

使用道具 举报

ID:57657 发表于 2023-9-15 07:34 | 显示全部楼层
  SBUF = rev + 1;
    while (!TI);
    TI = 0;
回复

使用道具 举报

ID:74687 发表于 2023-9-15 07:55 | 显示全部楼层
你去掉前面的0x
回复

使用道具 举报

ID:227818 发表于 2023-9-15 08:00 | 显示全部楼层
发送缓冲区填不填0xFE,直接填FE试试?
回复

使用道具 举报

ID:612392 发表于 2023-9-15 08:03 | 显示全部楼层
发送不要写0xfe,只写fe
回复

使用道具 举报

ID:861694 发表于 2023-9-15 09:07 | 显示全部楼层
npn 发表于 2023-9-15 07:34
  SBUF = rev + 1;
    while (!TI);
    TI = 0;

可以说明一下这样改动的原因吗?
回复

使用道具 举报

ID:94031 发表于 2023-9-15 10:57 | 显示全部楼层
你收到的数放在rev,发应该发rev而不是rev+1,你指定HEX模式直接写FE,不要写0x。 fe.png

回复

使用道具 举报

ID:1093575 发表于 2023-9-15 13:04 来自手机 | 显示全部楼层
谢谢大家了,恍然大悟。怪不得我仿真的时候在程序中发送可以接收到,而在串口发送却不能接收返回。我太爱你们了
回复

使用道具 举报

ID:57657 发表于 2023-9-15 13:14 | 显示全部楼层
戡拤 发表于 2023-9-15 09:07
可以说明一下这样改动的原因吗?

等待字节发送完成,然后才可以发送下一个字节。
回复

使用道具 举报

ID:1093575 发表于 2023-9-15 13:24 来自手机 | 显示全部楼层
xuyaqi 发表于 2023-9-15 10:57
你收到的数放在rev,发应该发rev而不是rev+1,你指定HEX模式直接写FE,不要写0x。

请问能用的proteus仿真吗?多少版本的。我用8.7版本的,从上位机发送,单片机还是接收不到字节
回复

使用道具 举报

ID:1093575 发表于 2023-9-15 13:30 来自手机 | 显示全部楼层
xuyaqi 发表于 2023-9-15 10:57
你收到的数放在rev,发应该发rev而不是rev+1,你指定HEX模式直接写FE,不要写0x。

请问你用的proteus仿真吗?多少版本的。我用8.7版本的,从上位机发送,单片机还是接收不到字节
回复

使用道具 举报

ID:1093575 发表于 2023-9-15 13:33 来自手机 | 显示全部楼层
我去掉0x后,在串口助手发送还是接收不到呢?
回复

使用道具 举报

ID:1093575 发表于 2023-9-15 13:34 来自手机 | 显示全部楼层
使用仿真,在串口助手发送,单片机还是接收不到字节呢?
78{3`DF9~SH8{}2CSUQ]GE1(1).png
44Y_Q4ZI47MCFDS[K314P@O(1).png
回复

使用道具 举报

ID:77589 发表于 2023-9-15 17:32 | 显示全部楼层
linlandon 发表于 2023-9-15 13:34
使用仿真,在串口助手发送,单片机还是接收不到字节呢?

这种情况需要安装一个虚拟串口工具,虚拟出一对虚拟的串口,Protues中的P1的属性中,你选择这对虚拟串口中的一个,串口调试助手选择另外一个虚拟串口,这样才能正常通信。
回复

使用道具 举报

ID:77589 发表于 2023-9-15 17:33 | 显示全部楼层

正解,不然串口调试助手就识别成两个字节了
回复

使用道具 举报

ID:77589 发表于 2023-9-15 17:33 | 显示全部楼层
cjjdemon 发表于 2023-9-15 08:03
发送不要写0xfe,只写fe

正解,不然串口调试助手就识别成两个字节了
回复

使用道具 举报

ID:1093575 发表于 2023-9-15 22:23 来自手机 | 显示全部楼层
谢谢大家,在大家帮助下终于搞定了,仿真也有回传,正常了
回复

使用道具 举报

ID:94031 发表于 2023-9-16 06:05 | 显示全部楼层
linlandon 发表于 2023-9-15 13:24
请问能用的proteus仿真吗?多少版本的。我用8.7版本的,从上位机发送,单片机还是接收不到字节

我是直接用芯片运行,不是仿真。
回复

使用道具 举报

ID:1040201 发表于 2023-9-16 08:56 | 显示全部楼层
发送不要写0x,只写fe
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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