打印

为什么串口不能收发呢?

[复制链接]
1506|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bluetub|  楼主 | 2008-10-10 11:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
gjg191| | 2008-10-10 11:46 | 只看该作者

o

检查硬件,供电电压,把从电脑出来的串口线2,3接到一起,自发自收看看有没有问题,测量max232得2脚和6脚电压是否正常

使用特权

评论回复
板凳
bluetub|  楼主 | 2008-10-11 02:37 | 只看该作者

V+,V-之间大概14V的电压

电脑出来的串口线2,3接到一起,可以自发自收

V+,V-之间大概14V的电压


VCC  和GND之间3.4V的电压

使用特权

评论回复
地板
bluetub|  楼主 | 2008-10-11 10:34 | 只看该作者

程序

程序:
Initial_com()
{
 EA=1;        //开总中断
 ES=1;        //允许串口中断
 ET1=1;        //允许定时器T1的中断
 TMOD=0x20;   //定时器T1,在方式3中断产生波特率
 PCON=0x00;   //SMOD=0
 SCON=0x50;   
 TH1=0xfd;    //波特率设置为9600
 TL1=0xfd;
 TR1=1;       //开定时器T1运行控制位

}




//*************************
//**********主函数*********
//*************************
main()
{
 Initial_com();
 while(1)
 {
 

  if(RI)
  {
  date=SBUF;
   SBUF=date;
   RI=0;
  }
  
  LED_display(date);
  }
}

使用特权

评论回复
5
孤星119| | 2008-10-11 12:02 | 只看该作者

ET1=1; //允许定时器T1的中断

ET1=0; 

使用特权

评论回复
6
bluetub|  楼主 | 2008-10-11 21:14 | 只看该作者

f

ET1=0; 
 也不行啊

使用特权

评论回复
7
bluetub|  楼主 | 2008-10-11 21:21 | 只看该作者

还是不行

使用特权

评论回复
8
bluetub|  楼主 | 2008-10-11 23:44 | 只看该作者

晕 串口头和串口线 接触不好 要用手压住 才可以 

使用特权

评论回复
9
bluetub|  楼主 | 2008-10-13 09:03 | 只看该作者

怎么又不行了,换了个接头好了,过会就不行了


现在是电源没开,用串口调试助手,也可以自发自收了,就像短接RX,TX一样,
是不是MAX232坏了?

使用特权

评论回复
10
djjyi| | 2008-10-13 14:34 | 只看该作者

程序....

ES=1;
却不见有串口中断处理程序
ET1=1;
定时器1用于产生波特率 不能开中断;

使用特权

评论回复
11
bluetub|  楼主 | 2008-10-14 10:47 | 只看该作者

xi

谢了 

现在换了个MAX232  ,就可以了 


晕 ,怎么MAX232  这么容易坏

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝