guandian
驱动牛犊
驱动牛犊
  • 注册日期2004-05-14
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:970回复:1

16c554 uart接收出错

楼主#
更多 发布于:2004-06-17 06:05
为什么tlc16554在不是fifo模式下,或者fifo的中断触发数量为1的时候,接收数据都正确,而当使用fifo模式,同时触发数量大于1,则数据接收出错,如用超级中断发字符O(不是零,是英文的大写o)。但是其他的数据好像都对。似乎只有字节的低4位全是1的时候出错,
求助
hyy107
驱动牛犊
驱动牛犊
  • 注册日期2004-09-07
  • 最后登录2004-09-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-07 16:48
您好!
我目前也在做这个TL16C554驱动的,碰到了很大的困难,很难解决!!
我碰到的困难就是:我目前可以对芯片的寄存器什么的读写,而且都是正确的,可是,无论我用PC机怎么给它发数据,它一点反应都没有,什么中断都没有产生!我硬件上是这样设置的:我用CPU的总线跟它通信,(这个通信是成功的),然后我只引出了A通道的RXA和TXA两根线,把它链接到MAX3232芯片上,然后把3232的输出数据引到PC机上,其他脚是浮着的。
我软件的初始化设置是这样的:
Registera->LCR = 0x80;/*进入BAUT率的设置*/
udelay(100);
registera->RBR = 0x06; /*其实是DLL,设为19200 */
udelay(100);
registera->IER = 0;  /*DLM*/
udelay(100);
registera->LCR = 0x03;/*设为8bit,关闭BAUT率设置 */
udelay(100);
registera->MCR = 0x08;/*打开外部中断*/
udelay(100);
registera->IER = 0x07;/*设置接收和发送数据中断使能*/
udelay(100);
registera->FCR = 0x7;/*打开并设置FIFO*/
初始化完毕后,系统等待中断,在刚设置完FIFO的时候,来了一个中断,表示FIFO发送BUFFER是空的,读取了IIR寄存器后,中断消失。
但是无论我怎么给它发信号,芯片一点中断也没有,寄存器也没有显示有接受到一个数据。
我换了个芯片还是这样,您说可能是什么原因呢,希望您能帮帮我,我不胜感激!!
游客

返回顶部