1. 程式人生 > >STM32CubeMX_STM32F303_ADC1~4 DMA1~2採集9路ADC

STM32CubeMX_STM32F303_ADC1~4 DMA1~2採集9路ADC

 

   在上一篇基礎上用DMA1  DMA2控制器採集ADC1~4 的9路ADC訊號,首先得搞清楚DMA和ADC 還有通道之間的關係,以STM32F303CB系列為例,

此處的CH1是DMA1的通道1,我習慣吧ADCx的INx也叫通道,不過是ADC的通道,以下也這麼引用,注意了,這個系列DMA有2個,DMA1  DMA2

DMA的通道有12個,DMA1有7個,DMA2有5個,資料手冊中的圖貼出來直觀一點:

以上所述都是指DMA的通道哦,這個在開啟DMA功能時會用到!

 

下面再說說ADC的通道,下圖是本系列晶片所列出的ADC1~ADC4可外接的輸入通道

霸氣,先簡單加一下,理論上可以接50個外部ADC通道哦,下面是ADC1~4在手冊上的詳細通道列表啦

                                                                                            ADC1通道彙總

                                                                                                    ADC2通道彙總

                                                           ADC3通道彙總

                                                                                         ADC4通道彙總

理清楚以上2個關於通道的概念,再來說說ADC和DMA的對映關係,上圖說話

 

 

上圖明確指出ADC1掛在DMA1上,ADC2~4掛在DMA2上,有了以上清晰的DMA&ADC的關係,下面看看CUBEMX的配置

 

以上設定完成後,在生成的程式碼中新增下面內容

以下是除錯資料