打印
[STM32F1]

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

[复制链接]
325|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输出后接运算放大器进行电压缓冲和放大

使用特权

评论回复
5
观海| | 2025-6-7 08:03 | 只看该作者
根据目标波形,预先计算或存储数字量数组,通过DAC转换为模拟信号

使用特权

评论回复
6
guanjiaer| | 2025-6-7 10:40 | 只看该作者
通过单片机定时器中断,周期性更新DAC输出数据,控制波形频率

使用特权

评论回复
7
heimaojingzhang| | 2025-6-7 13:04 | 只看该作者
在定时器中断中,更新DAC数据并指向下一个波形点

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


使用特权

评论回复
8
keaibukelian| | 2025-6-7 15:17 | 只看该作者
我们可以通过按键或外部指令切换波形类型,加载对应的查表数据

使用特权

评论回复
9
paotangsan| | 2025-6-7 17:19 | 只看该作者
模拟地和数字地分开布线,避免数字信号干扰模拟输出

使用特权

评论回复
10
renzheshengui| | 2025-6-7 20:11 | 只看该作者
DAC的输出精度有限,可能产生阶梯波形,需通过滤波改善

使用特权

评论回复
11
wowu| | 2025-6-7 22:31 | 只看该作者
模拟地和数字地分开布线,避免数字信号干扰模拟输出

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

38

帖子

0

粉丝