rk3288 android12 串口数据分段接收
数据 串口 接收 分段 RK3288 Android12
2023-09-14 09:04:19 时间
kernel-4.19/drivers/tty/serial/8250/8250_early.c
diff --git a/kernel-4.19/drivers/tty/serial/8250/8250_port.c b/kernel-4.19/drivers/tty/serial/8250/8250_port.c
old mode 100644
new mode 100755
index 39156ecbeb…4557b63e48
— a/kernel-4.19/drivers/tty/serial/8250/8250_port.c
+++ b/kernel-4.19/drivers/tty/serial/8250/8250_port.c
@@ -1768,17 +1768,31 @@ EXPORT_SYMBOL_GPL(serial8250_read_char);
*/
unsigned char serial8250_rx_chars(struct uart_8250_port *up, unsigned char lsr)
{
+printk(KERN_INFO " serial8250_rx_chars ");
struct uart_port *port = &up->port;
int max_count = 256;
-
unsigned int iir = serial_port_in(port, UART_IIR);
-
if ((iir & 0x0f) == 0x0c){
-
max_count = serial_in(up, UART_RFL);
-
}
-
else{
-
max_count = serial_in(up, UART_RFL) - 2;
-
}
-
max_count = 256;
-
printk(KERN_INFO " max_count %d ",max_count); do { serial8250_read_char(up, lsr); if (--max_count == 0) break; lsr = serial_in(up, UART_LSR);
-
} while (lsr & (UART_LSR_DR | UART_LSR_BI));
-
} while (lsr & (UART_LSR_DR | UART_LSR_BI) && (max_count-- > 0));
-
if ((iir & 0x0f) == 0x0c){ tty_flip_buffer_push(&port->state->port);
-
printk(KERN_INFO " tty_flip_buffer_push ");
-
} return lsr;
}
相关文章
- 在Facebook身上找到的大数据灵感
- zedboard 的FPGA的ROM弄个正弦波数据,用udp发送
- 数据泄露事件频发,数据库敏感字段如何治理?
- 从脚本 函数 脚本块中返回数据
- java安全删除一个文件,防止工具恢复数据
- CYQ.Data 轻量数据访问层(五) 构造数据行
- 如何把SAP CRM产品主数据隐藏的batch ID字段显示出来
- 如何向通过TCP socket给服务器端发送的数据里注明自己的客户端地址
- 【华为云技术分享】直播回顾丨激发数据裂变新动能,HDC.Cloud云数据库前沿技术解读
- 基于遗传算法优化的Elman神经网络数据预测-附代码
- 084:vue+openlayers数据聚合 ( 代码示例 )
- EDA:最简单的自然语言处理数据增广方法
- 大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)
- HLS开发学习-05- 数据类型的处理--数据类型转换
- 从工厂“搬砖”转行大数据,这一次我做到了
- 3. 业务数据采集平台概述
- 蓝桥杯嵌入式--串口收发数据异常的解决