MW22-02A/APP/Device/device_Other/device_dac_out.c

64 lines
1.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "device_dac_out.h"
#include "gd32f4xx.h"
/// @brief DAC输出初始化
/// @param[in] none
/// @return none
/// @note 修改日志
/// LH于2022-05-26
void init_dac_out_module(void)
{
//DAC时钟使能
rcu_periph_clock_enable(RCU_DAC);
//DAC输出引脚配置PA4--DAC0PA5--DAC1
gpio_mode_set(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_PIN_4);
gpio_mode_set(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_PIN_5);
dac_deinit();
/* configure the DAC0 */
dac_trigger_disable(DAC0);//非触发方式
dac_wave_mode_config(DAC0, DAC_WAVE_DISABLE);
dac_output_buffer_enable(DAC0);//输出缓冲区打开
/* configure the DAC1 */
dac_trigger_disable(DAC1);//非触发方式
dac_wave_mode_config(DAC1, DAC_WAVE_DISABLE);
dac_output_buffer_enable(DAC1);//输出缓冲区打开
/* enable DAC0 and set data */
dac_enable(DAC0);
dac_data_set(DAC0, DAC_ALIGN_12B_R, 0);
/* enable DAC1 and set data */
dac_enable(DAC1);
dac_data_set(DAC1, DAC_ALIGN_12B_R, 0);
}
/// @brief 水平电机DAC0输出
/// @param[in] data:输出数值12位右对齐
/// @return none
/// @note 修改日志
/// LH于2022-05-26
void hori_dac0_data_out(unsigned short int data)
{
uint16_t buff;
buff = (uint16_t)data;
dac_data_set(DAC0, DAC_ALIGN_12B_R, buff);
}
/// @brief 垂直电机DAC1输出
/// @param[in] data:输出数值12位右对齐
/// @return none
/// @note 修改日志
/// LH于2022-05-26
void vert_dac1_data_out(unsigned short int data)
{
uint16_t buff;
buff = (uint16_t)data;
dac_data_set(DAC1, DAC_ALIGN_12B_R, buff);
}