基于片内Flash的提示音播放程式。
1)實驗資料準備:用Adobe audition或goldwave等音頻編輯軟體錄制“您好歡迎光臨!”的幾秒鐘的聲音(8khz采樣、8bit量化編碼的單聲道wav格式),確定音頻資料盡量小(最大不超64KB)。然後程式設計将其分批次寫入stm32f103c8t6晶片内部flash區域。
2)數字音頻還原播放任務:程式設計讀取此段音頻,分别通過 (a)stm32f103c8t6自帶的DAC通道,轉換為模拟音頻進行播放,并用示波器觀察波形,用耳機/喇叭收聽,評判音樂還原效果
目錄
- 一、DAC簡介
-
- 1、DAC介紹
- 2、DAC的主要特性
- 3、DAC子產品功能框圖
- 二、使用DAC輸出周期2khz的正弦波
- 三、将wav檔案轉化成C語言
- 四、轉換一個音樂中的音頻
- 五、總結
- 參考文獻
一、DAC簡介
1、DAC介紹
DAC,與ADC相對,是數字量轉模拟量,經常用來作為信号發生器
2、DAC的主要特性
●2個DAC轉換器:1個輸出通道對應1個轉換器
● 8位或者12位單調輸出
● 12位模式下資料左對齊或者右對齊
● 同步更新功能
● 噪聲波形生成
● 三角波形生成
● 雙DAC通道同時或者分别轉換
● 每個通道都有DMA功能
● 外部觸發轉換
● 輸入參考電壓V REF+
3、DAC子產品功能框圖
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwIzXlpXazxiS2EWNfd1S2kmMZVTQClGVF5UMR9Fd4VGdsATNfd3bkFGazxSUhxGatJGbwhFT1Y0Mk9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLlZTM5MWO0czMjRDOwQ2M4YDZ4QDO0MTMwUTYkNWYyYzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
①中表示的是DAC子產品模拟部分的供電和DAC子產品的參考電壓 ,STM32 的 DAC 規定了它的參考電壓 輸入範圍為 2.4——3.3V。一般,取值為3.3V。
②中DAC_OUTx表示DAC輸出通道,對應引腳是PA4或者PA5。
二、使用DAC輸出周期2khz的正弦波
首先,使用Audition輸出一個周期為2khz的正弦波
點選
檔案
->
建立
->
音頻檔案
在彈窗中,作出如下的配置
- 檔案名:test
- 采樣率:2000,
- 聲道為單聲道
- 位深度:16 點選
STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻
->效果
作出如下的配置生成基本音色
點選STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻
.>檔案
.>導出
配置導出格式如圖所示檔案
點選确定之後,可以看見生成了一個test.wav檔案STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻 STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻
三、将wav檔案轉化成C語言
打開軟體WavToC,這個軟體可以将Wav檔案轉化成為C語言代碼
導入剛剛生成的test.wav檔案
點選生成代碼,可以看到右邊輸出了c語言代碼
點選試聽,如果是正弦波,可以聽到嘟的聲音
打開DAC輸出正弦波的程式
在bsp_dac.c中,替換内容,可以輸出不同的波形,因為沒有示波器是以,沒有辦法示範
四、轉換一個音樂中的音頻
用Adobe Audition打開一首音樂
截取一段音頻
右鍵,點選
存儲選區為
然後,點選
更改
,更改配置資訊
做出如圖的更改,然後選擇
确定
生成了一個.wav檔案
打開WavToC軟體,将.wav轉化為.c檔案
還是需要使用相同的方法檢測波形,但是沒有條件,就不完成了
五、總結
總體來說,還是比較順利。但是因為沒有示波器,是以沒有辦法去展示最終成果還是比較可惜的,希望下次有條件的時候,還可以再嘗試一下。
參考文獻
https://blog.csdn.net/qq_43279579/article/details/111990896