原理は大まかに言うと、たとえば、抵抗器のグループを制御するスイッチが多数あり、スイッチを操作して対応する電圧値を取得します。
通常のDAC:
DMA DAC は方形波を生成します。
電圧変換は浮動小数点0~3.3Vを直接入力可能
void dac_send(float V)
{
int Send_V;
Send_V=(int)(V*4095/3.3);
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,Send_V);
}
DMA adc dac 機能と通常の DAC スタート機能
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)adc_buff,1);
HAL_TIM_Base_Start(&htim6);
//HAL_DAC_Start(&hdac,DAC_CHANNEL_1);
HAL_DAC_Start_DMA(&hdac,DAC_CHANNEL_1,(uint32_t*)Sine12bit,100,DAC_ALIGN_12B_R);