Stm32f091RCTX在 rt-thread下添加串口驱动遇到的问题

1. 问题描述

在 rt-thread添加uart驱动 - stm32f091RCTx,这篇博客中我们描述了如何添加rt-thread的串口驱动,但是在添加完uart3的驱动后发现用DMA方式接收不到串口数据,经过一番测试后猜测应该是 DMA通道的问题,于是查看参考手册发现了问题所在,在C1S这个寄存器的值为零时,DMA的通道使用情况如下:
Stm32f091RCTX在 rt-thread下添加串口驱动遇到的问题_第1张图片
我们使用STM32CubMX配置出来的初始画函数中,uart3使用的是 DMA1_Channel1 通道,但是在图中我们看出来USART3_RX 和 USART4_RX 用的是同一个通道,那我们只能在同时选一个使用

2. 测试

根据上面的思路把USART3 的DMA通道修改后再测试果然是可以的

你可能感兴趣的:(嵌入式,stm32,stm32,uart)