基于STM32Cube的DAC数模转化

1 . STM32Cube配置
1.1 DAC配置
510005-20150915093634101-273348254.png

  510005-20150915093634398-1975344554.png
510005-20150915093634961-950011829.png
1.2 TIM6 配置
510005-20150915093635336-133633070.png
1.3 利用Cube产生工程程序,MDK打开软件
      在主循环上添加语句:
     HAL_TIM_Base_Start(&htim6);
      HAL_DAC_Start_DMA(&hdac,DAC_CHANNEL_2,
                                       (uint32_t *)&Samples_In[0],500,
                                       DAC_ALIGN_12B_R);
 
编译完成下载到核心板上

2. DAC效果验证
2.1 正弦表生成
     利用MATLAB,生成500个点组成的正弦数组。
y=ceil((2048/2-1)*sin(0:pi*2/500:2*pi)+1200);
plot(y);
 
fid = fopen('sina.txt','w'); 
fprintf(fid,'%d,',y);
fclose(fid);
2.2 结果验证 
      将正弦数组输入到MDK的 Samples_In数组中,利用示波器观察是否是周期为1KHz的正弦 波。
   实测输出频率是900Hz的正弦波,分析下原因,是因为时钟分频时,同样需要在语分频的基础上减1,比如准备9分频,那么应该填写8。重新编译,生成波形为1KHz的正弦波,跟预期的一样,如下图所示。
   





附件列表

 

转载于:https://www.cnblogs.com/121792730applllo/p/4809300.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值