STM32L152 DAC简单使用方法
来源:互联网 发布:php eval 解密 编辑:程序博客网 时间:2024/06/05 20:33
背景:
基于STM32的HAL库,介绍下STM32L152 DAC简单使用方法。
实现:
1.DAC的初始化。
DAC_HandleTypeDef hdac;
void DAC_Init(void)
{
DAC_ChannelConfTypeDef sConfig;
/**DAC Initialization
*/
hdac.Instance = DAC;
if (HAL_DAC_Init(&hdac) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
/**DAC channel OUT1 config
*/
sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;//输出缓存使能
if (HAL_DAC_ConfigChannel(&hdac, &sConfig, DAC_CHANNEL_1) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
}
其中,DAC的时钟开启在void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)函数中。
void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)
{
GPIO_InitTypeDef GPIO_InitStruct;
if(hdac->Instance==DAC)
{
/* USER CODE BEGIN DAC_MspInit 0 */
/* USER CODE END DAC_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_DAC_CLK_ENABLE();
/**DAC GPIO Configuration
PA4 ------> DAC_OUT1
*/
GPIO_InitStruct.Pin = GPIO_PIN_4;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);//对应的DAC管脚配置。
/* USER CODE BEGIN DAC_MspInit 1 */
/* USER CODE END DAC_MspInit 1 */
}
}
void DAC_Trigger(uint16_t Value)
{
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1 ,DAC_ALIGN_12B_R ,Value); //DAC的输出电压=Value*3.3/4096;
HAL_DAC_Start(&hdac, DAC_CHANNEL_1); //开启DAC
delay_ms(1000);
HAL_DAC_Stop(&hdac, DAC_CHANNEL_1);//关闭DAC
}
总结:上述简单介绍了DAC输出电压实现步骤,步骤为DAC初始化、开启DAC时钟、配置DAC管脚、调用DAC函数输出对应的电压值。
- STM32L152 DAC简单使用方法
- beaglebone black i2s dac使用方法
- DAC
- DAC
- STM32L152 USART
- STM32L152 ADC使用总结
- STM32L152 外部中断配置
- STM32L152 RTC 使用
- STM32L152之RCC时钟
- Informatica&DAC
- DAC calibration
- STM32F4 DAC
- DAC驱动
- 【记录】DAC
- STM32CubeMX:DAC
- STM8L151 DAC
- STM32L152的IAP移植笔记
- STM32L152的低功耗测试
- js获取浏览器参数方法
- Android中动画的介绍以及使用
- 以太坊开发文档03
- Kotlin使用retrofit实现recyclerview
- 机器学习概念原理及常用算法
- STM32L152 DAC简单使用方法
- NSString为何要用copy?而不是strong?
- 飞鸽传书源码
- Keychain存储容器
- 跨服务器传参数(一个、多个)
- STL源码剖析 之 vector
- hdu 3949
- 每周论文清单:高质量文本生成,多模态情感分析,还有一大波GAN | PaperDaily #26
- Protege使用教程(基础篇)