三角波为什么经过低通滤波器变为正弦波_STM32产生正弦波、方波和三角波

本文介绍了利用STM32F103ZE系列产生三种波形并在LCD上显示,并通过DA和AD转换重新显示转换后的波形。

思路

第一种思路是通过给出三种波形数据的数组,把数组的首地址传给DMA的基地址,DAC每个周期从DMA里读取数组的值来进行转换,然后ADC同时读值并进行转换,最后把转换好的结果存进一个数组里,LCD循环显示数组里的内容即可。

还有一种比较直接的思路就是找出三种波形坐标的规律,在定时器中断里计算各波形的坐标,主程序里循环画点即可,此方法虽能正常在LCD上显示波形,但因为定时器中断里边执行的东西太多,导致DA转换后的点不是连续的,在示波器上不能正常显示波形。

下面主要介绍第一种思路。

设计流程

程序的流程图如下:

e96a107bee869378f88da7d3dbb12c42.png

程序遵循模块化设计的思想,主程序里非常简单,只有DA和AD,串口等外设的初始化和波形发生函数,while循环里是按键切换波形和串口数据解析函数。

程序流程:

  1. 当按键按下之后,单片机自动扫描出是哪个按键并按了几次(加了一个计数变量),以此改变切换波形变量的值(例KEY0按一次波形数组即变为三角波),改变后若串口发送的有数据变重新改变TIM2的ARR值,若无数据则继续向下执行&#x
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值