1. 为什要配置串口的DMA传输
ADC多通道采集数据需要采用DMA传输,开启DMA采集的数据就会保存在数组中。
我们以前写串口接收时,每次接收只读一位,然后写的比较复杂,从开始位来判断标志位,循环读多少,来判断对方芯片发送的格式和校验,一不小心写错保存的数据就出差错了,十分麻烦。但用DMA直接将数组/指针首地址放入后,确定好数据长度,可直接存取正确的顺序,剩下只需要处理数据就好了。spi和iic也差不多,基本上是对变量的长度和地址进行操作。
2. 基本配置
这里根据实际需要设置DMA接收为Normal或者circual。
为DMA请求配置DMA流之后,用到的DMA流的中断会自动打开,而要对DMA流中断进行响应和处理,就必须开启USART1全局中断。
设置串口GPIO的速度为Very High。
如果开启多个串口dma,请务必注意发送间隔,不然有时会发送意义不明的数值。接收也改为普通模式