矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 20011|回复: 14

单片机串口发送数据,为什么串口调试助手收到的全是0\

[复制链接]
     
发表于 2018-9-1 13:50:00 | 显示全部楼层 |阅读模式
51单片机发送字符串,串口调试器上显示的全是"0\"。在调试中我将每个字符先显示在LCD1602上,然后再送入SBUF,但在电脑上却接收不到这些字符,这是什么原因?下图是接收到的内容:

微信截图_20180831173021.png
     
发表于 2018-9-1 14:10:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2018-9-1 15:40:05 | 显示全部楼层
HEX显示,勾选一下试试看
回复 支持 反对

使用道具 举报

     
发表于 2018-9-1 15:40:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-9-1 22:17:19 | 显示全部楼层
slash 发表于 2018-9-1 14:10
拿示波器或者逻辑分析仪抓一下波形。

用逻辑分析仪抓取了P3口6、7脚的波形,一下子也找不出对应关系,6脚的时序也反映不出1+8+1的规律。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-9-1 22:18:10 | 显示全部楼层
lrzxc 发表于 2018-9-1 15:40
HEX显示,勾选一下试试看

勾选之后显示的全部是00。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-9-1 22:22:25 | 显示全部楼层
书到用时 发表于 2018-9-1 15:40
串口的波特率、停止位、奇偶校验等这些参数设置的正确吗?

这些设置都反复检查过了,应该不会错的,代码如下:
/*******************************************************************************
*          ??????ж???????????0?????????????????1????RS232?????
*    定时器0:GATE=0,C/T=0,M1=0,M0=1????1??16λ????????
*    定时器1:GATE=0,C/T=0,M1=1,M0=0????2??8λ?????????TH1>TL1??
*******************************************************************************/
void Init_timer(void)                        //??????1=0010 ??????0=0001
{
        TMOD = 0x21;                            //???ù??????
    SCON = 0x50;                                //?λ?????????0??+8+"1"?????????(SM0=0,SM1=1,REN=1)
    TH1 = 0xFD;                                //????????????????????????9600
    TL1 = TH1;
    PCON = 0x00;                            //????????0x40
    EA = 1;                                                //?????ж???????????????
    ES = 1;                                                //???????ж???????????????
}
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-9-1 22:25:23 | 显示全部楼层
我将开发板范例程序中的串口通讯代码烧入单片机也不能正,收发数据,按理说都是用同一数据线,可以下载程序,按理也能够实现串口通讯。
回复 支持 反对

使用道具 举报

     
发表于 2018-9-1 23:13:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2018-9-2 09:53:08 | 显示全部楼层
hujj 发表于 2018-9-1 22:17
用逻辑分析仪抓取了P3口6、7脚的波形,一下子也找不出对应关系,6脚的时序也反映不出1+8+1的规律。

发送 &h00,&hff,&h0f,&hf0,&h55,&haa,&h5a,&ha5 然后看波形就容易理解 UART 波形和数据的对应关系了。

回复 支持 反对

使用道具 举报

     
发表于 2018-9-2 10:32:01 | 显示全部楼层
hujj 发表于 2018-9-1 22:22
这些设置都反复检查过了,应该不会错的,代码如下:
/*********************************************** ...

这段程序没有问题,仿真也能通过,多提供点线索,注意晶振频率是11.0592MHZ
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-9-2 14:05:19 | 显示全部楼层
感谢各位的关心和热心帮助,我准备弄两块单片机,一发一收,再来测试看看。
回复 支持 反对

使用道具 举报

     
发表于 2018-9-13 15:50:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2018-9-13 17:41:05 | 显示全部楼层
好象波特率不对,没有同步,收到的是数量不固定的0x00。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-9-13 20:26:50 | 显示全部楼层
longshort 发表于 2018-9-13 17:41
好象波特率不对,没有同步,收到的是数量不固定的0x00。

    是波特率不对,我在串口设置是正确的,但我在超声波测距的程序中,清零TH0和TL0时,误将TH1也计清零了,这样波特率就相差十万八千里。因为没有影响到计数器0,所以一直没有发现这个问题,我今天是全面检查了代码才发现的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-20 23:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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