找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STC12C5A60S2单片机波特率38400通讯乱码

[复制链接]
跳转到指定楼层
楼主
本帖最后由 jeffphoon 于 2020-2-11 09:59 编辑

我写了一个程序,在9600通讯正常,但是38400时候就乱码。
//-----------------------------------------------------------------------------
  //串口1 正常 9600bps@11.0592MHz
  SCON = 0x50;
  TMOD = 0x20;      
  TH1 = 0xFD;           
  TL1 = TH1;
  TR1 = 1;         
  EA =1;      
  ES =1;  

  //串口2 正常 9600bps@11.0592MHz
  S2CON = 0x50;   
  BRT = 0xFD;           
  AUXR = 0x10;   
  IE2 =0x01;           

//---------------------------------------------------------------------------------

当我换成
  //串口1 乱码 38400bps@11.0592MHz

  PCON &= 0x7F;
  SCON = 0x50;
  AUXR |= 0x04;
  BRT = 0xF7;
  AUXR |= 0x01;
  AUXR |= 0x10;
  ES=1;
  EA=1;

//串口2 正常 9600bps@11.0592MHz               
  AUXR &= 0xF7;               
  S2CON = 0x50;               
  AUXR &= 0xFB;               
  BRT = 0xFD;               
  AUXR |= 0x10;       
  IE2 =0x01;           

//---------------------------------------------------------------------------------


请问如何能解决这个问题?



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2020-2-11 16:27 | 只看该作者

回复

使用道具 举报

板凳
ID:235200 发表于 2020-2-11 17:23 | 只看该作者
不是波特率设置的问题,是发送或接收程序的问题,把波特率设置程序晒出来无法解决问题
回复

使用道具 举报

地板
ID:457181 发表于 2020-2-12 08:38 | 只看该作者
谢谢大家的回复,我找到了可用的代码了。
如下:
  //串口1 38400bps@11.0592MHz
  PCON &= 0x7F;               
  SCON = 0x50;               
  AUXR |= 0x40;               
  AUXR &= 0xFE;               
  TMOD &= 0x0F;               
  TMOD |= 0x20;               
  TL1 = 0xF7;               
  TH1 = 0xF7;               
  ET1 = 0;               
  TR1 = 1;               
               
  ES=1;
  EA=1;
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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