新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > vs1003播放MP3卡的問題

        vs1003播放MP3卡的問題

        作者: 時間:2016-11-27 來源:網絡 收藏
        第二次制作MP3了,把第一次搞得源碼搬出來,按上邊的說明接好線,結果發現,不能工作了,第一次的確調出來了啊,我還清楚地記得,雖然調處來了但是效果并不好啊,還是卡卡的,然而這次竟然連聲音都沒有,我崩潰了,苦惱自己上次沒有做好筆錄。

        這次用到的模塊和上一次一樣,也是STM32F103RBT6最小系統板,VS1003模塊,SD卡模塊,還有一個按鍵模塊就這些。SD卡模塊和stm32通信采用的是SPI接口,這里使用的是SPI1,vs1003和stm32通信也是SPI,這里使用是SPI2,sd卡模塊的引腳加上電源和地也就6根,vs1003的引腳相對較多,電源地2根+SPI的4根+ XDCS和XCS+DREQ共9根。在這里我們使用了15根杜邦線將他們連接到一起 。

        本文引用地址:http://www.104case.com/article/201611/322279.htm

        我在調試中有點著急,眉毛胡子一把抓,以為連接好硬件后,下載軟件聚會OK的,結果沒有好的情況的下依然處在這種泥潭下,毫無頭緒的找毛病,改改這,動動那,在沒有搞懂狀況的情況下。既浪費時間又會讓人惱火,仍無濟于事。建議,把兩者區分開,先把vs1003線拔下來,直接調試sd卡模塊,這樣線少,不會產生凌亂的感覺。sd卡模塊是采用的SPI1,對照原理圖,將mosi,miso,sck,cs一對一的重新接好,在初始化處設置斷點,觀察返回值是否為零。進一步調試fat初始化是否成功,按照這樣的思想,同樣調試vs1003.我就是這樣終于vs1003正弦測試成功。

        但是,兩者都能正常初始化沒問題的情況下,依舊有一個讓人頭疼的問題,就是播放卡帶的問題,就像老家使用VCD播放電影時有卡帶并且還有機關槍“突突”的聲音,雖然能播放出來,但突突的斷續卻感覺不到成功的喜悅。然后參考別人的代碼,翻閱手冊,SPI——setspeed()改大改小,屁變化沒有。那問題就出在SPI的問題上,或者是SPI1或者是SPI2,說不定兩者在設置速率上都存在問題。搜索資料發現DREQ也容易出問題,我改變DREQ的引腳定義,最后還是改成懸空輸入,在DREQ外加上拉電阻,還是不行,拔掉DREQ這跟線竟然播放沒有變化,那肯定跟SPI的速率有關了。懷疑SPI初始化配置有問題,檢查一下沒問題,之前的好多例子都是用這個的。沒法了,我就將MMC_SD.C的文件里所有的SPI1和設置速率跟SPI1有關的都檢查一下,見過發現還真有SPI1和SPI2傻傻分不清楚的。有檢查vs10xx.c文件里的SPI2的使用,結果也發現速率配置不對的問題。改完后,重新編譯下載。問題竟然解決了,vs1003的解碼音質真不比買來的mp3音質差。

        總結,調試多模塊的設備,分開調試,節省時間,vs1003能播放出音樂,但比較慢或者卡,那基本上出現在SPI的速率上,仔細檢查吧

        激動之余,寫此分享!



        關鍵詞: vs1003MP3STM32F103RBT

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 江津市| 刚察县| 康定县| 谢通门县| 连州市| 盘锦市| 丘北县| 东阿县| 建水县| 宣武区| 宁都县| 溆浦县| 屏东县| 刚察县| 荃湾区| 禄劝| 南郑县| 讷河市| 司法| 土默特右旗| 永平县| 昌宁县| 临邑县| 临海市| 焉耆| 邯郸市| 宜川县| 临湘市| 右玉县| 贡嘎县| 洮南市| 赤峰市| 沈丘县| 侯马市| 湛江市| 滦南县| 宿松县| 辽中县| 玉林市| 台南县| 城步|