请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 5130|回复: 6

串口通讯接收到乱码

[复制链接]

2

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2021-2-10 17:00:28 | 显示全部楼层 |阅读模式
1金钱
使用了例程里的串口通讯代码,按照视频里的操作来,我分别输入了1和0,窗口里显示的是乱码
我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励10 金钱 , 目前已有3人回答

回复

使用道具 举报

2

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2021-2-10 17:01:03 | 显示全部楼层
#include "reg51.h"                         //此文件中定义了单片机的一些特殊功能寄存器  typedef unsigned int u16;          //对数据类型进行声明定义 typedef unsigned char u8;   /******************************************************************************* * 函数名         :UsartInit() * 函数功能                   :设置串口 * 输入           : 无 * 输出                  : 无 *******************************************************************************/ void UsartInit() {         SCON=0X50;                        //设置为工作方式1         TMOD=0X20;                        //设置计数器工作方式2         PCON=0X80;                        //波特率加倍         TH1=0XF3;                                //计数器初始值设置,注意波特率是4800的         TL1=0XF3;         ES=1;                                                //打开接收中断         EA=1;                                                //打开总中断         TR1=1;                                        //打开计数器 }  /******************************************************************************* * 函 数 名       : main * 函数功能                 : 主函数 * 输    入       : 无 * 输    出             : 无 *******************************************************************************/ void main() {                 UsartInit();  //        串口初始化         while(1);                 }  /******************************************************************************* * 函数名         : Usart() interrupt 4 * 函数功能                  : 串口通信中断函数 * 输入           : 无 * 输出                  : 无 *******************************************************************************/ void Usart() interrupt 4 {         u8 receiveData;          receiveData=SBUF;//出去接收到的数据         RI = 0;//清除接收中断标志位         SBUF=receiveData;//将接收到的数据放入到发送寄存器         while(!TI);                         //等待发送数据完成         TI=0;                                                 //清除发送完成标志位 }
回复

使用道具 举报

0

主题

4

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2021-5-23 18:14:14 | 显示全部楼层
我也出现了这个问题,我后来发现是USB模块转TTL模块那边出现了问题,本来烧录时两个跳线帽是横着插,当需要通信时,把他们都竖着插就不会乱码了,但我想不通为啥,请问楼主现在知道为啥了吗
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-7-10 23:58:18 | 显示全部楼层
晶振换成11.0592mhz应该就可以了
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-3-28 23:34 , Processed in 0.097655 second(s), 35 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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