青岛网站排名提升北京网页设计公司兴田德润实惠
青岛网站排名提升,北京网页设计公司兴田德润实惠,做网站什么需要好,泰安网站制作接上一讲ADC的部分#xff0c;我们需要使用模数转换来读取一些设备传过来的数据并将其转换成有用的部分#xff0c;同时我们有时还需要输出模拟信号来达到控制的效果#xff0c;即数模转换。下面打开赛点资源包里面的CT117E-M4产品手册#xff0c;找到7.9拓展接口部分…接上一讲ADC的部分我们需要使用模数转换来读取一些设备传过来的数据并将其转换成有用的部分同时我们有时还需要输出模拟信号来达到控制的效果即数模转换。下面打开赛点资源包里面的CT117E-M4产品手册找到7.9拓展接口部分可以看到PA4和PA5是支持DAC的两个IO口那么我们就可以用这两个引脚进行数模转换。下面打开STM32CubeMX进行配置首先配置好时钟下面开始配置DAC选择PA4引脚看到有DAC_OUT1选项将其选择上并在左侧的Analog下拉菜单找到DAC1将OUT1的模式修改成下图的模式 完成配置后即可生成工程代码。自行编写如下的函数即可输出我们需要的电压输出的数据位数也是12位所以要乘4096电压范围是0~3.3v所以要除以3.3对比ADC的计算公式会发现正好是相反的两个公式。void set_dac_value(float vol) { uint16_t dac; dac (4096*vol/3.3f); HAL_DAC_SetValue(hdac1, DAC_CHANNEL_2, DAC_ALIGN_12B_R, dac); }MX_DAC1_Init();另外还需要在主函数中调用初始化函数完成DAC接口的初始化这样才能实现输出烧录程序进开发板后可用电压表测量电压。示例如下set_dac_value(1.2); HAL_Delay(2000); set_dac_value(2.5); HAL_Delay(2000);