tl16c554的问题

[复制链接]
3260|8
 楼主| njnuzhoubo 发表于 2007-4-10 21:48 | 显示全部楼层 |阅读模式
我用tl16c554扩展串口,想先向串口a发送数据,但是接受不到发出的数据,示波器也没有量到任何信号,请大家帮忙看看错在哪里。<br />#include&ltreg51.h&gt<br />sbit&nbsp;P1_0=P1^0;<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;address_a&nbsp;0x8000<br />#define&nbsp;address_b&nbsp;0x8010<br /><br />void&nbsp;delay()<br />{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;i,j;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt100;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j=0;j&lt1000;j++);<br />}<br /><br />void&nbsp;tl16c554_inita()//串口a的初始化<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;*p;<br />&nbsp;&nbsp;&nbsp;&nbsp;p=(uchar&nbsp;*)address_a;<br />&nbsp;&nbsp;&nbsp;&nbsp;*(p+3)=0x80;//置除数访问锁存器标志DLAB=1,访问波特率因子寄存器<br />&nbsp;&nbsp;&nbsp;&nbsp;*p=0x03;//设置波特率为9600bps<br />&nbsp;&nbsp;&nbsp;&nbsp;*(p+1)=0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;*(p+3)=0x1b;//无奇偶校验,停止位1,8位数据<br />&nbsp;&nbsp;&nbsp;&nbsp;*(p+2)=0x01;//使能FIFO,置接收触发字节数01<br />}&nbsp;<br /><br /><br />//tl16c554的发送,从csa口发送<br />void&nbsp;tl16c554_send(uchar&nbsp;ch)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;*p1;<br />&nbsp;&nbsp;&nbsp;&nbsp;p1=(uchar&nbsp;*)address_a;<br />&nbsp;&nbsp;&nbsp;&nbsp;*p1=ch;<br />&nbsp;&nbsp;&nbsp;&nbsp;return;<br />}<br /><br />void&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;ch='a';<br />&nbsp;&nbsp;&nbsp;&nbsp;tl16c554_inita();<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tl16c554_send(ch);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1_0=0;//检测程序运行,令灯一亮一灭<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P1_0=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay();<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />指示灯的工作完好,程序运行时灯一亮一熄
 楼主| njnuzhoubo 发表于 2007-4-12 10:08 | 显示全部楼层

为什么没有人回答
hq_y 发表于 2007-4-12 14:37 | 显示全部楼层

看看hotpower的博客上有没有现成的代码可以参考

  
happystar 发表于 2007-4-13 18:53 | 显示全部楼层

帮你顶一下

我现在打算也用这个扩4个口,现在什么也不懂呢。请教你,你有联系方式么?谢谢拉!
dreambird 发表于 2007-4-14 00:09 | 显示全部楼层

re

为什么不用状态寄存器?你的delay()有没有被优化掉?
 楼主| njnuzhoubo 发表于 2007-4-16 09:59 | 显示全部楼层

晕啊

问题解决了,能收能发,就是发送出来的都是乱码,郁闷
dreambird 发表于 2007-4-19 22:50 | 显示全部楼层

re

波特率有问题?
zrfeng 发表于 2007-11-12 11:52 | 显示全部楼层

请问问题是怎么解决的?

我现在用这个芯片,也是什么波形都没有,很怀疑是否连接上有问题。<br />你怎么解决不出数的问题的。
chen2qiao 发表于 2009-4-3 15:51 | 显示全部楼层

请问楼主是怎么解决的呢??

请问楼主是怎么解决的呢??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

12

帖子

0

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