135 lines
2.8 KiB
C
135 lines
2.8 KiB
C
#include "dac.h"
|
||
//////////////////////////////////////////////////////////////////////////////////
|
||
/**********************************************************************/
|
||
|
||
//DAC驱动代码
|
||
|
||
//STM32H7工程模板-HAL库函数版本
|
||
//DevEBox 大越创新
|
||
//淘宝店铺:mcudev.taobao.com
|
||
//淘宝店铺:shop389957290.taobao.com
|
||
/*********************************************************************/
|
||
//////////////////////////////////////////////////////////////////////////////////
|
||
|
||
DAC_HandleTypeDef DAC1_Handler; //DAC句柄
|
||
DAC_ChannelConfTypeDef DACCH1_Config; //DAC1通道1
|
||
|
||
|
||
|
||
/**********************************************************************/
|
||
|
||
|
||
//初始化DAC
|
||
|
||
//STM32H7工程模板-HAL库函数版本
|
||
//DevEBox 大越创新
|
||
//淘宝店铺:mcudev.taobao.com
|
||
//淘宝店铺:shop389957290.taobao.com
|
||
/*********************************************************************/
|
||
|
||
void DAC1_Init(void)
|
||
{
|
||
DAC1_Handler.Instance=DAC1;
|
||
HAL_DAC_Init(&DAC1_Handler); //初始化DAC
|
||
|
||
DACCH1_Config.DAC_Trigger=DAC_TRIGGER_NONE; //不使用触发功能
|
||
DACCH1_Config.DAC_OutputBuffer=DAC_OUTPUTBUFFER_DISABLE;//DAC1输出缓冲关闭
|
||
HAL_DAC_ConfigChannel(&DAC1_Handler,&DACCH1_Config,DAC_CHANNEL_2);//DAC通道2配置
|
||
|
||
HAL_DAC_Start(&DAC1_Handler,DAC_CHANNEL_2); //开启DAC通道1
|
||
}
|
||
|
||
|
||
/**********************************************************************/
|
||
|
||
//DAC底层驱动,时钟配置,引脚 配置
|
||
//此函数会被HAL_DAC_Init()调用
|
||
//hdac:DAC句柄
|
||
|
||
//STM32H7工程模板-HAL库函数版本
|
||
//DevEBox 大越创新
|
||
//淘宝店铺:mcudev.taobao.com
|
||
//淘宝店铺:shop389957290.taobao.com
|
||
/*********************************************************************/
|
||
|
||
void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)
|
||
{
|
||
GPIO_InitTypeDef GPIO_Initure;
|
||
|
||
__HAL_RCC_DAC12_CLK_ENABLE(); //使能DAC时钟
|
||
__HAL_RCC_GPIOA_CLK_ENABLE(); //开启GPIOA时钟
|
||
|
||
GPIO_Initure.Pin=GPIO_PIN_5; //PA5
|
||
GPIO_Initure.Mode=GPIO_MODE_ANALOG; //模拟
|
||
GPIO_Initure.Pull=GPIO_NOPULL; //不带上下拉
|
||
HAL_GPIO_Init(GPIOA,&GPIO_Initure);
|
||
}
|
||
|
||
|
||
|
||
/**********************************************************************/
|
||
|
||
//设置通道1输出电压
|
||
//vol:0~3300,代表0~3.3V
|
||
|
||
//STM32H7工程模板-HAL库函数版本
|
||
//DevEBox 大越创新
|
||
//淘宝店铺:mcudev.taobao.com
|
||
//淘宝店铺:shop389957290.taobao.com
|
||
/*********************************************************************/
|
||
|
||
void DAC1_Set_Vol(u16 vol)
|
||
{
|
||
double temp=vol;
|
||
temp/=1000;
|
||
temp=temp*4096/3.3;
|
||
|
||
HAL_DAC_SetValue(&DAC1_Handler,DAC_CHANNEL_2,DAC_ALIGN_12B_R,temp);//12位右对齐数据格式设置DAC值
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/**********************************************************************/
|
||
|
||
//DAC驱动代码
|
||
|
||
//STM32H7工程模板-HAL库函数版本
|
||
//DevEBox 大越创新
|
||
//淘宝店铺:mcudev.taobao.com
|
||
//淘宝店铺:shop389957290.taobao.com
|
||
/*********************************************************************/
|
||
|