利用DAC输出三角波、方波与正弦波(HAL库) |
您所在的位置:网站首页 › stm32f4输出正弦波 › 利用DAC输出三角波、方波与正弦波(HAL库) |
利用STM32开发板制作一个简单的信号发生器,能输出三角波、方波以及正弦波。 这里选用到的芯片型号是STM32F103ZET6,先利用CUBE对其进行配置吧~
先配置RCC:
然后打开SYS,调整相应的Debug,我这里是用ST_LINK,所以用到Serial Wire。 配置时钟树,HCLK直接拉满:
然后打开DAC,任意选择通道1或2,并进行基础配置(如果只是想生成三角波,那么在Wave generation mode中可以直接选择Triangle wave generation,程序中只需要打开DAC输出就能自行生成三角波):
将Trigger(触发方式)选择为定时器2事件触发,再配置其DMA:
值得一提的是,DMA请求设置中,我们需选用Circular(循环)模式,因为只有如此配置才能产生一条可以持续的波形。 由于DAC触发方式为定时器2触发,所以我们需要打开定时器2,时钟源为内部时钟,再配置PSC与ARR:
该处配置会影响到你的波形频率。同时我们需将它的触发事件调整为Update Event,这很重要,如果遗漏,你就无法控制DAC输出了。 打开串口一,并开启中断,让我们可以使用串口的功能来实现波形的切换:
配置到这里就基本结束了,那么可以生成程序进KEIL5来进行程序的编译。 先在串口的头文件中重定向printf,具体细节可以参考我之前的随笔。 然后编写用于输出波形的数组,可将其置于主函数内: for(i=0;i |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |