为什么串口不能收发呢?

[复制链接]
2415|10
 楼主| bluetub 发表于 2008-10-10 11:13 | 显示全部楼层 |阅读模式
<br />用的是MAX232,用串口精灵收发都没有数据&nbsp;http://www.dzkf.cn/upimg/allimg/0710/1_08140215.JPG<br />这电路图&nbsp;会错吗?&nbsp;<br />MAX232的10,7,9,8&nbsp;&nbsp;没有接&nbsp;<br /><br /><br />串口接头&nbsp;只接了图中的&nbsp;2,3,5
gjg191 发表于 2008-10-10 11:46 | 显示全部楼层

o

检查硬件,供电电压,把从电脑出来的串口线2,3接到一起,自发自收看看有没有问题,测量max232得2脚和6脚电压是否正常
 楼主| bluetub 发表于 2008-10-11 02:37 | 显示全部楼层

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

电脑出来的串口线2,3接到一起,可以自发自收<br /><br />V+,V-之间大概14V的电压<br /><br /><br />VCC&nbsp;&nbsp;和GND之间3.4V的电压
 楼主| bluetub 发表于 2008-10-11 10:34 | 显示全部楼层

程序

程序:<br />Initial_com()<br />{<br />&nbsp;EA=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//开总中断<br />&nbsp;ES=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//允许串口中断<br />&nbsp;ET1=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//允许定时器T1的中断<br />&nbsp;TMOD=0x20;&nbsp;&nbsp;&nbsp;//定时器T1,在方式3中断产生波特率<br />&nbsp;PCON=0x00;&nbsp;&nbsp;&nbsp;//SMOD=0<br />&nbsp;SCON=0x50;&nbsp;&nbsp;&nbsp;<br />&nbsp;TH1=0xfd;&nbsp;&nbsp;&nbsp;&nbsp;//波特率设置为9600<br />&nbsp;TL1=0xfd;<br />&nbsp;TR1=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//开定时器T1运行控制位<br /><br />}<br /><br /><br /><br /><br />//*************************<br />//**********主函数*********<br />//*************************<br />main()<br />{<br />&nbsp;Initial_com();<br />&nbsp;while(1)<br />&nbsp;{<br />&nbsp;<br /><br />&nbsp;&nbsp;if(RI)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;date=SBUF;<br />&nbsp;&nbsp;&nbsp;SBUF=date;<br />&nbsp;&nbsp;&nbsp;RI=0;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;LED_display(date);<br />&nbsp;&nbsp;}<br />}
孤星119 发表于 2008-10-11 12:02 | 显示全部楼层

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

ET1=0;&nbsp;
 楼主| bluetub 发表于 2008-10-11 21:14 | 显示全部楼层

f

ET1=0;&nbsp;<br />&nbsp;也不行啊<br />
 楼主| bluetub 发表于 2008-10-11 21:21 | 显示全部楼层

还是不行
 楼主| bluetub 发表于 2008-10-11 23:44 | 显示全部楼层

晕&nbsp;串口头和串口线&nbsp;接触不好&nbsp;要用手压住&nbsp;才可以&nbsp;
 楼主| bluetub 发表于 2008-10-13 09:03 | 显示全部楼层

怎么又不行了,换了个接头好了,过会就不行了<br /><br /><br />现在是电源没开,用串口调试助手,也可以自发自收了,就像短接RX,TX一样,<br />是不是MAX232坏了?<br />
djjyi 发表于 2008-10-13 14:34 | 显示全部楼层

程序....

ES=1;<br />却不见有串口中断处理程序<br />ET1=1;<br />定时器1用于产生波特率&nbsp;不能开中断;
 楼主| bluetub 发表于 2008-10-14 10:47 | 显示全部楼层

xi

谢了&nbsp;<br /><br />现在换了个MAX232&nbsp;&nbsp;,就可以了&nbsp;<br /><br /><br />晕&nbsp;,怎么MAX232&nbsp;&nbsp;这么容易坏
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部