微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 急!串口怎么时通时不通?

急!串口怎么时通时不通?

时间:10-02 整理:3721RD 点击:
我用TA550+MAX232来实现VC33与外部的RS232通讯,用中断子程序来接收数据。可是现在通讯很不流畅,用仿真器跟踪运行时发现,有的时候有通讯数据但不进中断子程序,不知是怎么回事。请那位高手指点,非常感谢!

我现在也在用串口,不过是C5402和TI的554及MAX240,你把550的寄存器设置看看,是比较麻烦点的了!

我是这样设置寄存器的,有没有问题?
LCR = 0x80;
DLL = 0x18; /*19200--0x0c; 9600--0x18 */
DLM = 0x00;
LCR = 0x03;
FCR = 0x01;
MCR = 0x20;
IER = 0x01;
为什么有的时候有数据,却没中断?是不是LSR的OE位为1就不会产生中断信号?还有没有其他情况呢?

这个问题解决了,是接收FIFO溢出了,这时我将接收FIFO清空就有能正常通讯了.
但还有一个问题,就是我的程序从flash中bootload后,550的寄存器有时会乱掉,而且无法写入,以致通讯中断,这是什么原因?要怎么解决?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top