蓝桥杯嵌入式(G4系列):DAC输出

前言:

        前面记录了一下ADC的使用,这里记录一些我对DAC的学习,本次的功能是为了把ADC采集到的电压完好的赋给PA4管脚。

STM32Cubemx:

        将PA4选择为DAC的输出管脚。 

        我们点击左侧的DAC,然后进行以下配置

         到此为止STM32Cubemx的配置就OK了,点击生成代码即可。

代码部分:

        因为我们选择了PA4,而这个PA4是DAC1的CHANNEL_1通道,所以在初始化的时候,我们使用这句代码

HAL_DAC_Start(&hdac1,DAC1_CHANNEL_1);				//将DAC打开

        编写我们的DAC输出函数

void dac_set(float vol)
{
	uint16_t temp;
	temp = (4096*vol/3.3f);			//将十进制转化为12位2进制数
	HAL_DAC_SetValue(&hdac1,DAC_CHANNEL_1,DAC_ALIGN_12B_R,temp);
}

        因为我的ADC读取是在while(1)里面直接调用的,所以我也就把DAC输出函数放在了while(1)里面

adc_value1 = getADC(&hadc1);        //这个是我之前代码里用来读取电压的
dac_set(adc_value1);                //将读取到的电压再赋给PA4引脚

效果展示:

猜你喜欢

转载自blog.csdn.net/weixin_51651698/article/details/129479805