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