20 DAC实验
20 DAC实验DAC输出电压实验 DAC波形实验 扬声器实验
up视频里的实验代码: 👣DAC实验代码
DAC驱动文件: DAC驱动代码
播放生日快乐: 🥳DAC驱动扬声器播放生日快乐
注意

如果盒子里面有这个小卡片的话 代表着up把SCL和SDA的丝印画反了 大家可以按照小卡片上的来
1 📢 蜂鸣器-DAC电压输出实验
1.1 实验连接
注意
如果盒子里面有这个小卡片的话 代表着up把SCL和SDA的丝印画反了 大家可以按照小卡片上的来
1.2 实验原理
- 通过IIC通信 设置外置DAC的输出值
1.3 CubeMX配置
1.4 实验代码
全局
#include "dac.h"
main()
DAC_SetDigital(0.7/3.3*4096);
while(1)
2 〰️ DAC波形发生实验
2.1 实验连接
2.2 实验原理
- 通过定时器触发 控制外置DAC输出正弦波形
- sin函数里面的参数 是正弦函数的相位 使用的是弧度制
- (0°
360°)角度制 / 360 = (02π)弧度制 / 2π
2.3 CubeMX配置
2.4 实验代码
全局
#include "dac.h"
#include "math.h"
#define PI 3.1415926535
uint8_t flag = 0;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance == TIM2)
{
flag = 1;
}
}
main()
HAL_TIM_Base_Start_IT(&htim2);
float idx = 0;
float step = 3.6;
while(1)里面
if(flag == 1)
{
float phase = 2.0f*PI*(idx/360.0f);
uint16_t dac_val = 4095.0f*((sinf(phase)+1.0f)/2.0f);
DAC_SetDigital(dac_val);
idx += step;
flag = 0;
}