完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
两个月前还在和同门研究这个程序呢,这个例子要求的东西挺多的,现在说说自己的看法
此例子考察3个外设的使用:DAC、Timer和DMA DAC是进行数模转换的,和ADC相反,STM32的AD/DA好像都是12bit位宽的吧,所以DAC是将一个12bit的数字采样值,按比例转化成0~3.3v之间的电压模拟值; Timer是负责触发采样值输出,它的意义在于将离散的采样值和时间扯上关系,这样才有了实际波形的意义; DMA则是负责内存RAM和外设DAC间的数据搬移的。 更加详细的解释可以找找NCO(数控振荡器)的原理,这样就可以知道“正弦表”中的数值表示的波形频率和实际DAC输出波形频率之间关系,在STM32工程中它和Timer的定时值有关,都是一个很简单的数学关系 我觉得里面有几个难点:1.三个外设的初始化,一定要注意,细节决定成败;2.波形频率与寄存器设置之间的关系,可以利用示波器多看看;3.结合ADC的例程将AD数据利用DA过程恢复,学习整个过程. |
|
|
|
这能产生几种波形, 之前做过不是很理想
|
|
|
|
用单片机生成各种波形的数据,将数据传输给RAM存储器,通过后级的DA转换器实现波形的产生。
|
|
|
|
用单片机生成各种波形的数据,将数据传输给RAM存储器,通过后级的DA转换器实现波形的产生。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1763 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
917 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1304 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1769 浏览 1 评论
559 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 03:18 , Processed in 0.525067 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号