新聞中心

vs1003播放MP3卡的問題

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

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

本文引用地址:http://butianyuan.cn/article/201611/322279.htm

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

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

總結(jié),調(diào)試多模塊的設(shè)備,分開調(diào)試,節(jié)省時(shí)間,vs1003能播放出音樂,但比較慢或者卡,那基本上出現(xiàn)在SPI的速率上,仔細(xì)檢查吧

激動(dòng)之余,寫此分享!



關(guān)鍵詞: vs1003MP3STM32F103RBT

評(píng)論


技術(shù)專區(qū)

關(guān)閉