小弟想 DAC dma输出 然后接 ADC dma 输入
ADC dma 已经调好了,但是DAC dma 一开 管脚的ad值一直在1100-1200左右,大概0.8-0.9v,用的定时器6更新触发
HAL_TIM_Base_Start(&htim6);
while (1)
{
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&ADC_Value,3);
temp = (ADC_Value[0]*3.3 /4096 -0.76)/0.0025+25;
//temp = (adc_v*3.3 /4096 -0.76)/0.0025+25;
printf("%d %d %d\n",ADC_Value[0],ADC_Value[1],ADC_Value[2]);
HAL_ADC_Stop_DMA(&hadc1);
// HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,4000);
// HAL_DAC_SetValue(&hdac,DAC_CHANNEL_2,DAC_ALIGN_12B_R,3000);
// HAL_DAC_Start(&hdac,DAC_CHANNEL_1);
// HAL_DAC_Start(&hdac,DAC_CHANNEL_2);
DA_2=3000,DA_1 = 4000;
HAL_DAC_Start_DMA(&hdac,DAC1_CHANNEL_1,(uint32_t *)DA_1,1,DAC_ALIGN_12B_R);/*通道1*/
HAL_DAC_Stop_DMA(&hdac,DAC1_CHANNEL_1);
HAL_DAC_Start_DMA(&hdac,DAC1_CHANNEL_2,(uint32_t *)DA_2,1,DAC_ALIGN_12B_R);
HAL_DAC_Stop_DMA(&hdac,DAC1_CHANNEL_2);
HAL_Delay(2);
}
|