单片机RS232串口发送数据问题

虚心请教各位高手,为何串口调试助手收不到单片机发来的数据,是否是程序哪里出了问题?/************************串口初始化**************... 虚心请教各位高手,为何串口调试助手收不到单片机发来的数据,是否是程序哪里出了问题?
/************************串口初始化****************/
void chuankou_init()
{
TMOD=0X21;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
TH1=0xfd;
TL1=0xfd;
ET0=1;
TR1=1;
SM1=1;
SM0=0;
REN=1;
EA=1;
ES=1;
}
/******************串口通信**********************/
void chuankou()
{
if(flag==1)
{
flag=0;
ES=0;
TI=1;
switch(flag_on)
{
case 0: puts("Start!\n"); TR0=1;break;
case 1: puts("End!\n"); TR0=0;break;
case 2: puts("Error!\n"); break;
}
while(!TI);
TI=0;
ES=1;
}
if(flag_time==1)
{
flag_time=0;
ES=0;
TI=1;
printf("Hum:%d.%d\n",H_temp/100,H_temp%100);
if(((H_temp/100)>h_h)||((H_temp/100)<h_l))
{
printf("Hem waring!!!\n");
}
printf("Tem:%d.%d\n",T_temp/100,T_temp%100);
if(((T_temp/100)>h_h)||((T_temp/100)<h_l))
{
printf("Tem waring!!!\n");
}
while(!TI);
TI=0;
ES=1;
}
}
/************主函数*******/
void main(void)
{
chuankou_init();
while(1)
{
chuankou();
}
}
/***********串口中断***************/
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
if(a==1)
flag_on=0;
else
if(a==2) flag_on=1;
else flag_on=2;
}
展开
 我来答
wjfhsym
2015-03-20 · TA获得超过944个赞
知道小有建树答主
回答量:475
采纳率:85%
帮助的人:303万
展开全部
if(flag==1) 和 switch(flag_on) ,那么flag 和 flag_on在哪边清尺迅定义的,不能直接拿来判断啊,是不是还有串口中断程序没 贴上来答此困册呢。
追问
终于有人回答了,在这先感谢你抽出时间解惑!!串口中断的已附上麻烦你再看看,因为我主要是负责上位机部分,别人就只写了下位机程序,单片机连接上位机的就直接丢给我去解决了T_T好尴尬....
追答
你的串口初始化了串口1,2. 但是不完整。
void chuankou_init()
{
TMOD=0X21; //定时器1 为8位自动重装,定时器0为 16位
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
TH1=0xfd;
TL1=0xfd;
ET0=1; //允许定时器0 中断
TR1=1; //启动定时器1
SM1=1;
SM0=0;
REN=1;
EA=1;
ES=1;
}
你的定时器0允许中断,是什么用途。中断处理什么呢。

本题用定时器1就行了
修改为
void chuankou_init(void)
{
SCON = 0x50; //串口工作方式为1 , 串行允许接收
TMOD = 0x20; //定时器1 工作在方式2
TH1 = 0xfd;
TL1 = 0xfd;
ES = 1; //开串口中断
TR1 = 1; //允许定时器1工作
EA = 1; //开总中断
}

还有你串口函数中 的 flag_time 在哪里定义的,乱啊有点。
查晓筠0i5
2015-03-19 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4932万
展开全部
需要给你完成一份吗
我做单片机设计的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式