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裸板程序

推荐阅读最新更新时间:2024-11-05 02:03

基于WinCE6.0的LPC3250串口驱动程序开发
   引 言   Windows CE是一个开放的、可升级、可裁减的32位实时嵌入式操作系统,具有可靠性好、实时性高、内核体积小的特点,广泛应用于工业控制、信息家电、移动通信、汽车电子、个人电子消费品等领域。最新版本Windows Em-bedded CE 6.0于2006年11月发布,其特点有:最大进程数量到32K,且每个进程有最大2 GB的虚拟内存空间;将关键的驱动程序、文件系统和图形界面管理器移到了内核中,大大减少了CPU在内核态和用户态间切换造成的性能损失等。 LPC3250是NXP半导体公司(由Philips公司成立)推出的带有矢量浮点协处理器的ARM926EJ-SCPU内核的微控制器。它具有丰富的外围接口,包括7个
[嵌入式]
stm32串口HAL库的DMA发送问题
本文使用stm32f411ret的串口1的DMA方式发送数据,刚开始调试的时候发现串口只能发送一次数据,之后就把系统hang住了。通过网上搜资料和不断尝试,发现问题是中断回调函数没有写的原因。 使用HAL库的DMA,需要同时实现DMA中断回调函数和串口中断回调函数。 void DMA2_Stream7_IRQHandler(void) { HAL_DMA_IRQHandler(Uart1Handle.hdmatx); } void USART1_IRQHandler(void) { HAL_NVIC_ClearPendingIRQ(USART1_IRQn); HAL_UART_IRQHandler(&Uart1
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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