基於STM32Cube的DAC數模轉化


1 . STM32Cube配置
1.1 DAC配置


 

1.2 TIM6 配置

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的正弦波,跟預期的一樣,如下圖所示。
   





附件列表

     


    免責聲明!

    本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



     
    粵ICP備18138465號   © 2018-2025 CODEPRJ.COM