打印
[i.MX]

请教MX6Q串口丢数问题

[复制链接]
551|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cessi|  楼主 | 2017-6-5 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟同时开两个线程,一个线程每10ms接收200个字节(4ms接受完,再休眠10ms),另外一个线程存储数据到SATA。此时串口在不停地丢数,串口波特率为115200或者614400.但是只运行串口程序,不存储就不丢。请问各位大神有什么思路可以解决呢?
/*static inline void mx6q_sabresd_init_uart(void){        
imx6q_add_imx_uart(0, NULL);       
imx6q_add_imx_uart(1, NULL);       
imx6q_add_imx_uart(2, &uart2_data);       
imx6q_add_imx_uart(3, NULL);       
imx6q_add_imx_uart(4, NULL);
}*/
/*add by chengsi*/
static const struct imxuart_platform_data mx6_sd_uart2_data __initconst = {   
        .flags      = IMXUART_HAVE_RTSCTS | IMXUART_SDMA,   
        .dma_req_rx = MX6Q_DMA_REQ_UART2_RX,   
        .dma_req_tx = MX6Q_DMA_REQ_UART2_TX,
};
static inline void mx6q_sabresd_init_uart(void){       
        imx6q_add_imx_uart(0, NULL);       
        imx6q_add_imx_uart(1, NULL);       
        imx6q_add_imx_uart(2, &uart2_data);
}


以上注释部分是原来的,下面是我改的,请问这个DMA方式为什么也不管用呢?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

0

粉丝