STM32F103的DAC功能实现音频输出
本次實驗主要內容:用Adobe audition或goldwave等音頻編輯軟件錄制“您好歡迎光臨!”的幾秒鐘的聲音(8khz采樣、8bit量化編碼的單聲道wav格式),確保音頻數據盡量小(最大不超64KB)。然后編程將其分批次寫入stm32f103c8t6芯片內部flash區域。
文章目錄
- 一、DAC簡介
- 二、錄制音頻
- 1. 生成wav文件
- 2. 使用Ultra Edit軟件
- 3. 使用 WavToC軟件
- 三、修改代碼
- 四、總結
- 五、參考資料
一、DAC簡介
數模轉換器,又稱D/A轉換器,簡稱DAC,它是把數字量轉變成模擬的器件。D/A轉換器基本上由4個部分組成,即權電阻網絡、運算放大器、基準電源和模擬開關。模數轉換器中一般都要用到數模轉換器,模數轉換器即A/D轉換器,簡稱ADC,它是把連續的模擬信號轉變為離散的數字信號的器件。(數模轉換器_百度百科 (baidu.com))
單個DAC通道的框圖如下圖所示:
圖 1-1更多內容請參考STM32參考手冊
二、錄制音頻
1. 生成wav文件
打開AU軟件,點擊錄制按鈕
圖 2.1-1接下來彈出窗口,設置參數:采樣率:8000Hz,聲道:單聲道,位深度:8位
圖 2.1-2或者也可以在網上生成電子音(導入AU后配置導出參數后導出),最后得到wav文件。為了得到16進制數字文件,這里我們有兩種方式。
2. 使用Ultra Edit軟件
使用Ultra Edit軟件打開wav文件
圖 2.2-1使用Ctrl+A命令全選,然后右鍵十六進制復制選定視圖
圖 2.2-2然后新建文件,將內容粘貼到該文件中
圖 2.2-3然后全選,選擇范圍
圖 2.2-4選擇范圍
圖 2.2-5打開NotePad++軟件,將復制的內容粘貼到這里
圖 2.2-6按照下圖操作為數字加上前綴0x,從第一列開始使用列編輯操作為每一列前加上0x
圖 2.2-73. 使用 WavToC軟件
打開WavToC軟件,選擇文件后打開,點擊生成代碼
圖 2.3-1得到數字文件后,點擊保存即可
圖 2.3-2三、修改代碼
在野火官網可以下載程序代碼,然后修改bsp_dac.c數組中的內容
圖 3-1由于條件限制,這里就無法進行下去了。感興趣的讀者可以自行購買設備進行實驗。
四、總結
本次實驗主要是對于音頻文件的處理過程,由于硬件部分的限制,這里無法展示實驗結果。對于代碼部分,需要理解的東西比較多,可以在網絡上查看相關學習視頻學習。
五、參考資料
使用STM32F103的DAC功能實現音頻輸出_咩咩叫的閑魚的博客-CSDN博客_stm32f103有dac
總結
以上是生活随笔為你收集整理的STM32F103的DAC功能实现音频输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 百度鹰眼sdk,百度地图API
- 下一篇: Linux基本命令,12个View绘制流