[STM32F1] 如何使用DAC作为函数发生器使用

[复制链接]
485|10
 楼主| 柴库柴库 发表于 2025-4-20 10:00 | 显示全部楼层 |阅读模式
想使用 stm32f103的DAC 生成三角波、方波、和正弦波。作为函数发生器来使用看到有人用DAC实现,但是不知道如何实现。

但是具体如何操作呢?哪位可以提供几个例程学习




磨砂 发表于 2025-6-6 17:26 | 显示全部楼层
可以通过编程控制DAC输出不同的电压值,从而生成各种波形信号
晓伍 发表于 2025-6-6 19:42 | 显示全部楼层
在DAC输出端添加低通滤波器,平滑阶梯波形,生成模拟信号
八层楼 发表于 2025-6-6 21:55 | 显示全部楼层
若需要驱动负载,可在DAC输出后接运算放大器进行电压缓冲和放大
观海 发表于 2025-6-7 08:03 | 显示全部楼层
根据目标波形,预先计算或存储数字量数组,通过DAC转换为模拟信号
guanjiaer 发表于 2025-6-7 10:40 | 显示全部楼层
通过单片机定时器中断,周期性更新DAC输出数据,控制波形频率
heimaojingzhang 发表于 2025-6-7 13:04 | 显示全部楼层
在定时器中断中,更新DAC数据并指向下一个波形点

void timer_isr() {
    static int index = 0;
    DAC_write(sin_table[index]);  // 写入当前点
    index = (index + 1) % 256;    // 循环查表
}


keaibukelian 发表于 2025-6-7 15:17 | 显示全部楼层
我们可以通过按键或外部指令切换波形类型,加载对应的查表数据
paotangsan 发表于 2025-6-7 17:19 | 显示全部楼层
模拟地和数字地分开布线,避免数字信号干扰模拟输出
renzheshengui 发表于 2025-6-7 20:11 | 显示全部楼层
DAC的输出精度有限,可能产生阶梯波形,需通过滤波改善
wowu 发表于 2025-6-7 22:31 | 显示全部楼层
模拟地和数字地分开布线,避免数字信号干扰模拟输出
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

71

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部