VS1003 دیگه داره دیونم میکنه با SPI نرم افزاری موزیک که داره پخش میشه با سرعت زیاد قطع و وصل میشه.کریستال 12.288 با مقاومت 1 مگ هم گزاشتم.
اینم اون برنامه ای که استفاده میکنم.
CVDD : 2.5
AVDD : 2.85
IOVDD : 3.3
میکرو هم با IOVDD وصل هست.مشکل کجاست؟
کد:
$regfile = "m128def.dat" $crystal = 8000000 $swstack = 128 $hwstack = 128 $framesize = 1024 '-------------------------------------------------------------- Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portf.4 , Db5 = Portf.5 , Db6 = Portf.6 , _ Db7 = Portf.7 , E = Portf.2 , Rs = Portf.3 '---------------------------------------------------------------- '----------------------------------------------------------------------- Led Alias Portd.0 'Mmc_csn Alias Portb.0 Xrst Alias Portd.7 Dreq Alias Pind.6 Xdcs Alias Portd.5 Xcs Alias Portd.4 Vs_miso Alias Portd.3 Vs_mosi Alias Portd.2 Vs_clock Alias Portd.1 Config Led = Output 'led Config Vs_miso = Input 'serial input vs-1003 Config Vs_mosi = Output 'serial out vs-1003 Config Vs_clock = Output 'serial clock vs-1003 Config Xcs = Output 'VS Chip Select Config Xrst = Output 'VS Reset Config Dreq = Input 'VS Data Request Config Xdcs = Output 'VS Stream Request '------------------------------------------------------------------------------- Set Vs_mosi Set Vs_clock Set Xcs Set Xrst Set Xdcs Cls Reset Led Reset Vs_mosi Reset Vs_clock '------------------------- '------------------------------------------------------------------------------- Dim B As Byte Dim A1 As Byte Dim A2 As Byte Dim L As Byte Dim Ff As Byte Dim S As String * 30 Dim Diskf As Long Dim Disks As Long Dim Vs_w As Byte Dim Vs_r As Byte Dim Sc_mode_ad As Byte Dim Sc_bass_ad As Byte Dim Sc_clockf_ad As Byte Dim Sc_aiaddr_ad As Byte Dim Sc_vol_ad As Byte Dim I As Word Dim Buffer(512) As Byte '------------------------------------------------------------------------------- Vs_w = 2 Vs_r = 3 Sc_mode_ad = 0 Sc_bass_ad = 2 Sc_clockf_ad = 3 Sc_aiaddr_ad = 10 Sc_vol_ad = 11 Led = 0 '------------------------------------------------------------------------------- Cursor Off Cls Lcd "loading..." $include "Config_AVR-DOS.BAS" $include "Config_MMC.bas" B = Drivereset() B = Driveinit() If Gbdriveerror <> 0 Then Cls Lcd "mmc config error" End End If 'include avr-dos B = Initfilesystem(1) 'init file system If B <> 0 Then Print "Errore MMC" 'se errore Cls Lcd "VS1003 !!!" Waitms 500 Set Led Cls Lcd "Reseting VS1003." Reset Xrst Wait 1 Set Xrst Waitus 500 Bitwait Dreq , Set Reset Led Cls Lcd "Initializing VS" Waitms 500 Set Led Reset Xcs Cls Lcd "Reset Xcs" Waitms 500 Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_mode_ad , 1 'Spiout Sc_mode_ad , 1 'Halate Kariyeh VS1003 A1 = 8 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Cls Lcd "Set Xcs" 'Wait 10 Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_bass_ad , 1 'Spiout Sc_bass_ad , 1 'Tanzime Bass va Treble A1 = &H79 A2 = &HF7 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_clockf_ad , 1 'Spiout Sc_clockf_ad , 1 'Tanzimeh Clock va PLL bar royeh Adade 3 A1 = &H80 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_aiaddr_ad , 1 'Spiout Sc_aiaddr_ad , 1 'Barnameyeh Karbari Nadarim A1 = 0 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Reset Xcs Shiftout Vs_mosi , Vs_clock , Vs_w , 1 'Spiout Vs_w , 1 Shiftout Vs_mosi , Vs_clock , Sc_vol_ad , 1 'Spiout Sc_vol_ad , 1 'Tanzime Volume Rooyeh Haddeaksar A1 = 0 A2 = 0 Shiftout Vs_mosi , Vs_clock , A1 , 1 'Spiout A1 , 1 Shiftout Vs_mosi , Vs_clock , A2 , 1 'Spiout A2 , 1 Set Xcs Waitus 500 Bitwait Dreq , Set Cls Lcd "VS1003 initiated" Reset Led Wait 1 Cls Lcd "playing file:" Ff = Freefile() Open "song.mp3" For Binary As #ff 'create file in MMC Locate 2 , 1 Lcd Ff Do Get #ff , Buffer(1) , , 512 Set Led Cls For I = 1 To 512 Reset Xdcs Shiftout Vs_mosi , Vs_clock , Buffer(i) , 1 Set Xdcs 'Spiout Buffer(i) , 1 Bitwait Dreq , Set Next I Cls Bitwait Dreq , Set Lcd "Set Xdcs" Reset Led Loop Until Eof(#ff) <> 0 Cls Lcd "Ended." Close #ff End 'end program
CVDD : 2.5
AVDD : 2.85
IOVDD : 3.3
میکرو هم با IOVDD وصل هست.مشکل کجاست؟
دیدگاه