STM32-5 STM32 ADC通过DMA发送到串口

DMA是CPU的小助手,负责完成数据转运的任务,一般的数据转运可以在主函数完成,但是如果数据量巨大,就不适合在main函数中转运了,因为那样会占用大量CPU进程。
ADC就是一个例子,ADC需要不断采集模拟信号,交给CPU处理,数据量巨大,所有ADC如果出现了,那一般都会给它配置一个DMA来完成数据转运。

看下要关注的DMA结构体

00066 typedef struct
00067 {
00068   uint32_t Direction;                 /*!< Specifies if the data will be transferred from memory to peripheral, 
00069                                            from memory to memory or from peripheral to memory.
00070                                            This parameter can be a value of @ref DMA_Data_transfer_direction */
00071 
00072   uint32_t PeriphInc;                 /*!< Specifies whether the Peripheral address register should be incremented or not.
00073                                            This parameter can be a value of @ref DMA_Peripheral_incremented_mode */
00074                                
00075   uint32_t MemInc;                    /*!< Specifies whether the memory address register should be incremented or not.
00076                                            This parameter can be a value of @ref DMA_Memory_incremented_mode */
00077   
00078   uint32_t PeriphDataAlignment;       /*!< Specifies the Peripheral data width.
00079                                            This parameter can be a value of @ref DMA_Peripheral_data_size */
00080 
00081   uint32_t MemDataAlignment;          /*!< Specifies the Memory data width.
00082                                            This parameter can be a value of @ref DMA_Memory_data_size */
00083                                
00084   uint32_t Mode;                      /*!< Specifies the operation mode of the DMAy Channelx.
00085                                            This parameter can be a value of @ref DMA_mode
00086                                            @note The circular buffer mode cannot be used if the memory-to-memory
00087                                                  data transfer is configured on the selected Channel */ 
00088 
00089   uint32_t Priority;                   /*!< Specifies the software priority for the DMAy Channelx.
00090                                             This parameter can be a value of @ref DMA_Priority_level */
00091 } DMA_InitTypeDef;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值