最近用到stm32h7数据采集,用定时器触转换完成后触发dma写入ram。adc1配置如下
dma data width配置为half word模式
调用函数HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&adc_val, 4);传输了8byte:
dma data width配置为byte模式后传输了4字节:
文档中给出的说明为
Parameters:
hadc,: | ADC handle |
pData,: | Destination Buffer address. |
Length,: | Length of data to be transferred from ADC peripheral to memory (in bytes) |
查看源码,Length被赋值给了NDTR:
也就是说这里Length的参数不应该是数据长度,应该是数据数量。