工具/软件:Linux
大家好
我在 Linux 3.12上运行 AM335x。
基本上从 OMAP UART 读取数据、问题是每次只读取1个字节始终被读取。
下面看一下 OMAP UART 驱动程序的配置
/* FIFO 使能、DMA 模式*/
UP->SCR |= OMA_UART_SCR_RX_TRIG_GRANU1_MASK;
/*
*注意:设置 OMA_UART_SCR_RX_TRIG_GRANU1_MASK
*设置为触发 RX 启用1的粒度
*级别。 以及设置 RX FIFO 触发电平
*更改为1 (如下所述、16个字符)和 TLR[3:0]
*设为零将导致 RX FIFO 阈值电平
*改为1个字符、而不是注释中所述的16个字符
*。
*
/*将接收 FIFO 阈值设置为16个字符,然后
*发送 FIFO 阈值到16个空格
*
up->FCR &=~OMAP-UART_FCR_RX_FIFO_TRIG_MASK;
up->FCR &=~OMAP-UART_FCR_TX_FIFO_TRIG_MASK;
up->FCR |= UART_FCR6_R_TRIGGER_16 | UART_FCR6_T_TRIGGER_24 |
UART_FCR_ENABLE_FIFO;
我尝试删除它可以读取多个1的粒度、但数据存在问题。
有人能帮我将正确的配置设置为驱动程序吗