OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5280|回复: 6

51串口通信出错

[复制链接]

86

主题

982

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1846
金钱
1846
注册时间
2013-4-15
在线时间
163 小时
发表于 2013-4-15 10:40:48 | 显示全部楼层 |阅读模式
#include<reg52.h>
unsigned char temp,flag;
void main()
{
P0=0x00;    //关闭所有LED灯
P1=0x10;    //打开LED灯接地端总开关,LED灯是共阳极的
TMOD=0x20;    //T1工作在方式2
TH1=0xFD;       //设置波特率
TL1=0xFD;        //设置波特率
TR1=1;
REN=1;            //启动串口接收标志位
SM0=0;
SM1=1;            //串口工作在方式1
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
flag=0;
ES=0;
SBUF=temp;
if(TI==1)
TI=0;
ES=1;
}
}
}

void serial() interrupt 4
{
RI=0;
temp=SBUF;
P0=temp;
flag=1;
}



单片机发送给PC的数据出错,而且是连续乱发,请教是什么原因

合肥-文盲
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2013-4-4
在线时间
0 小时
发表于 2013-4-15 11:04:20 | 显示全部楼层
你有等待发送结束吗?
if(flag==1)
{
flag=0;
ES=0;
SBUF=temp;
if(TI==1)
TI=0;
ES=1;
}
~~~~ 欢迎讨论,拒绝谩骂 ~~~~
回复 支持 反对

使用道具 举报

86

主题

982

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1846
金钱
1846
注册时间
2013-4-15
在线时间
163 小时
 楼主| 发表于 2013-4-15 14:28:41 | 显示全部楼层
回复【2楼】兰斯洛:
-----------------------------
我用下面这个程序也还是出错,下载程序后LED灯直接亮了,接收也是错误
#include<reg52.h>
unsigned char temp,flag;
void main()
{
P0=0x00;
P1=0x10;
TMOD=0x20;
TH1=0xF3;
TL1=0xF3;
TR1=1;
REN=1;
SM0=0;
SM1=1;
RI=0;
T1=0;
SBUF=0;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
SBUF=temp;
while(!TI)
TI=0;
ES=1;
}
}
}

void UART() interrupt 4
{
temp=SBUF;
P0=temp;
RI=0;
flag=1;
}
合肥-文盲
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2013-4-15
在线时间
0 小时
发表于 2013-4-15 19:25:01 | 显示全部楼层
while(!TI)后面忘加;了,应该是while(!TI);
注意设置串口调试助手里的波特率!
回复 支持 反对

使用道具 举报

86

主题

982

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1846
金钱
1846
注册时间
2013-4-15
在线时间
163 小时
 楼主| 发表于 2013-4-16 08:27:33 | 显示全部楼层
回复【4楼】helen:
---------------------------------
对 忘了加分号了,加了还是一样收不到数据 12M的晶振  波特率和上面对应的 2400  还是收不到
合肥-文盲
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2013-4-15
在线时间
0 小时
发表于 2013-4-16 15:36:38 | 显示全部楼层
我做的时候用的是11.0592M的晶振,波特率设置的是9600
回复 支持 反对

使用道具 举报

86

主题

982

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1846
金钱
1846
注册时间
2013-4-15
在线时间
163 小时
 楼主| 发表于 2013-4-17 13:03:15 | 显示全部楼层
回复【6楼】helen:
---------------------------------
搞定了
合肥-文盲
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 20:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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