stm32DMA通道 ADC通道
DMA:
1.使用DAC的時候。將轉化後得到的模擬信號通過IO口輸出的時候。為什麽還將IO口配置能輸入模式
PS:stm32手冊上定義PA4和PA5分別和DAC1通道和DAC2通道相連 ;
DMA1和DMA2使用按個通道手冊中也是有規定的:
波形數據從內存帶DAC是怎麽DMA是怎麽傳輸的?:
/* 配置DMA2 */
DMA_InitStructure.DMA_PeripheralBaseAddr = DAC_DHR12RD_Address;
DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&DualSine12bit ;//內存數據地址 DualSine12bit
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;//傳輸數據方向內存至外設
DMA_InitStructure.DMA_BufferSize = 32;//緩存大小為32字節
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外設數據地址固定
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; //外設數據以字為單位
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;//內存數據以字為單位
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;//循環模式
DMA_InitStructure.DMA_Priority = DMA_Priority_High;//高DMA通道優先級
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
DMA_Init(DMA2_Channel4, &DMA_InitStructure);
當傳輸的我們數據大小為32位 的時候,發送給DAC轉化,
DMA通道選擇:
外設請求使用DMA傳輸的時候。關於DMA通道的選擇其stm32手冊上都有規定的。須要我們相應手冊去查詢
ADC通道:
函數ADC_RegularChannelConfig( )。
如果我們使用了PC0
ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_55Cycles5)可
以配置通道的採樣周期。該函數有4個參數,第一個參數指使用哪個ADC,我們選ADC1。
第
二個參數。本次採樣使用的通道,我們選擇ADC_Channel_10。第三個參數,採樣順序。
本
實驗我們僅僅有一個採樣,直接給它賦值為:1.。
第四個參數,配置採樣周期。
這裏PC0管腳是AD的ADC_Channel_10輸入通道。這個通道並非任意的選擇的。在ST
提供的手冊《【英文】STM32F107VC數據手冊V6.pdf》中。有相應的說明:
譯註:(詳細見stm32手冊)
表中的引腳名稱標註中出現的ADC12_INx(x表示4~9或14~15之間的整數),表示這個引腳能夠是
ADC1_INx或ADC2_INx。
比如:ADC12_IN9表示這個引腳能夠配置為ADC1_IN9,也能夠配置為
ADC2_IN9。
相同,表中的引腳名稱標註中出現的ADC123_INx(x表示0~3或10~13之間的整數)。表示這個引腳可
以是ADC1_INx或ADC2_INx或ADC3_INx。
串口:
//P:串口接收從io口中傳來的數據
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //P:配置串口傳輸的字長,一個字符一個字符的接受
stm32DMA通道 ADC通道