STC11F32单片机11.0592M晶振,设置成115200波特率,单片机发送后电脑接收的数据怎么不对? 25

如题:用定时器1产生波特率,设置如下:TMOD|=0X20;//初始化为波特率发生器SCON=0X50;AUXR|=0X40;//定时器1运行于1T模式TH1=TL1=0... 如题:
用定时器1产生波特率,设置如下:
TMOD|=0X20; //初始化为波特率发生器
SCON= 0X50;
AUXR |=0X40; //定时器1运行于1T模式
TH1 = TL1 =0xfd; //115200 1T
TR1=1;
发送程序

/******************************************************************/
/* 发送数据到串口 */
/******************************************************************/
void Send_one_byte(uchar dat)
{
ES = 0;
TI = 0;
SBUF = dat;
while(!TI);
TI = 0;
ES = 1;
}
//主程序中发送两个数据

Send_one_byte(0x55);
Send_one_byte(0xaa);
........

但是,结果电脑上收到的数据都是00
PS:STC-ISP软件,串口助手接收的,设置也是115200波特率。但9600是可以的。
问题已解决,是232芯片的问题,换芯片就好了。
展开
 我来答
落叶城主lyc
2013-11-08 · TA获得超过450个赞
知道小有建树答主
回答量:346
采纳率:66%
帮助的人:301万
展开全部
1、程序不全,不好判断,但是从你的串口配置中看不出不对的地方。
2、既然9600可以,115200与它的区别就是将定时器设置成1T模式。但已经看见AUXR |=0X40; //定时器1运行于1T模式。

3、是不是引线过长或是单片机TXD脚连接的引线上有落地电容。可以尝试将单片机TXD脚配置成推挽输出或是在该脚上接1K-4.7K上拉电阻。
追问
使用端口的第二功能还要加上拉电阻吗?
追答
哪种第二功能?一般无需加上拉电阻。
Vikjor8054kiki
2013-11-08 · TA获得超过2796个赞
知道小有建树答主
回答量:826
采纳率:71%
帮助的人:335万
展开全部

很可能是硬件的问题。排除方法:

  1. 电脑的com口自发自收一下,确定电脑能使用较高的波特率。

  2. 电平转换芯片,单片机和电脑com口的通讯电平是不同的,转换芯片支持不了这么高的波特率,可以自己制作高速电平转换电路试试。

  3. 换用有屏蔽的损耗较小的通讯线材,长度尽量短些。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxiufan
2013-11-07 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38387
国家科技进步奖

向TA提问 私信TA
展开全部
你可以将波特率逐级往下降低试试,比如57600,比如28800等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式