LPC3250 ttyS1 发送问题解决办法

发布者:甜美瞬间最新更新时间:2024-05-06 来源: elecfans关键字:LPC3250 手机看文章 扫描二维码
随时随地手机看文章

LPC3250 ttyS1 发送问题解决办法

LPC3250 ttyS1,在应用程序中使用了usleep或者使用了线程等待操作,发送数据会出现只能发送一次,后续帧无法发送的问题,必须在超级终端按回车或者通过串口软件发送一个字符后才能发出后来的帧,问题解决如下:

 

将8250.c的__stop_tx函数改为如下代码


1216 static inline void __stop_tx(struct uart_8250_port *p)

1217 {

1218     struct uart_8250_port *up = (struct uart_8250_port *)p;

1219

1220     if (p->ier & UART_IER_THRI) {

1221         p->ier &= ~UART_IER_THRI;

1222         serial_out(p, UART_IER, p->ier);

1223         if (up->port.line==1){

1224             serial_out(p, UART_IER, 0xFF);//ABING Fix ttyS1 send BUG

1225         }

1226     }

1227 }


为ttyS1进行特别处理,发送完成后,设置U2IER,将IER设置为0xFF即可。


关键字:LPC3250 引用地址:LPC3250 ttyS1 发送问题解决办法

上一篇:在LPC3250上使用UBIFS文件系统
下一篇:【tiny6410】led裸板程序

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved