STM32F407探索者DAC+DMA+TIM6正弦波寄存器版

函数说明: 实验的时候输出的正弦波,平均最高电压是2点多V。自我感觉不是特别稳定。
         总的目标是实现:DAC+DMA+TIM6在PA5引脚输出正弦波。
         1.如何获取正弦波的数据,sinform_init(a,Num);这个函数就是将生成的正弦波数据放在数组a中。
           实现的方法,开始想的方法就就是现在用,这个多亏在网上的大神的资料,期间也有想过直接查表法	
           也有看到人用过,心里一直很抗拒这个方法“正弦函数这么简单的函数,而且加个头文件就可以引用了为什么还用查表法”	
         2.接下就是DAC输出,一开始的时候我并没有马上加上DMA+TIM6功能,在主函数和dac.c中注释的东西就是我实验的时候用到的。										
         3.由于我是第一次用定时器6,不知道自己配置的正确与否,所以用了一次定时器6的中断,来试一下
         4.弄好了DAC+TIM6,就加上DMA;期间有一个寄存器配置错了,害我检查了很久,不过总的来说我知道肯定知道是DMA的错,因为我
		   其他的内容都是确定正确后才做接下来的。希望能够养成这样的习惯。
实验效果:如果正确的话PA5和GND之间会输出一个2v多的正弦波,不过由于老是要到隔壁实验室借示波器很麻烦,就学正点原子在DMA实验中将百分比输出到stm32f407探索者的屏幕上,
         通过万能表大概能看出PA5有1.7v的电压也能说明实验成功了。

这个项目最后的效果:
直接用DAC
这是直接用DAC出来的结果。
DMA+DAC+TIM6
这是 DMA+DAC+TIM6的结果图。
这是这个实验的程序希望,对初学者有帮助:
链接:https://pan.baidu.com/s/1GcTSZsqBnnnJMZJN9qaXvg
提取码:ihyq

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章