wie hast du den controller den angeschlossen?
Hallo,
ich versuche einen STV5730 anzusteuern, habe mir dazu ein board bei elv besorgt welches den IC funktionierend drauf hat. Habe dann den Controller mit dem IC verbunden (vorher den controller von der elv platine entfernt) aber ich kriege dees ding ned zum laufen folgender code sollte funktionieren (den datenbereich habe ich für testzwecke von dem code von ulrich radig genommen) liegt es evtl an der einstellung für die SPI schnittstelle? mit mosi/miso war ich nicht sicher, aber keine von beiden läuft... oder lese ich den datenteil falsch aus?
[/code]Code:$regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 128 , Noss = 0 Dim A(8) As Byte Dim I As Byte Dim I2 As Byte Spiinit Wait 1 I = 0 Restore Da1 '# initialisierung Do Read A(1) Read A(2) Spiout A(1) , 2 Incr I Loop Until I = 24 'eine zeile hat 8 bytes, es werden immer 2 gleichzeitig gelesen,daher 6x4 '### Text der ausgegeben wird Restore Da2 I = 0 Do Read A(1) Spiout A(1) , 1 Incr I Loop Until I = 16 Do nop nop nop Loop End Da1: Data &H30 , &H00 , &H30 , &H00 , &H00 , &HDB , &H10 , &H00 Data &H00 , &HCF , &H10 , &H4E , &H00 , &HD0 , &H15 , &H32 Data &H00 , &HCD , &H12 , &H01 , &H00 , &HCE , &H1B , &H95 Data &H00 , &HC0 , &H1F , &H90 , &H1F , &H90 , &H1F , &H80 Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80 Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80 Da2: Data &H20 , &H35 , &H3B , &H32 , &H2C , &H31 , &H0B , &H0B Data &H1D , &H2A , &H2D , &H32 , &H30 , &H0B , &H0B , &H0B
wie hast du den controller den angeschlossen?
Der controller läuft einfandfrei. (Testoutput Uart)
PB0 (SS) --> CSN STV5730
PB1 (CLK) --> CLK STV5730
PB2/3 (DATA) --> DATA STV5730
+5V --> BAR STV5730
Die datenleitung habe ich immer wieder hin und hergesteckt, weil ich nicht sicher war, ob PB2 oder PB3 ausgang ist (MOSI/MISO)
(so wie die anschlüsse des vorhandenen -funktionierenden- controllers sind - BAR habe ich gemessen)
habe den code ein wenig verändert mit dem READ war ich nicht so sicher
Das auslesen des datenteils funktioniert jetzt zuverlässiger (UART output getestet)
Werde den mega128 mit auf arbeit nehmen und mal an den oszi hängen, um zu sehen ob an der spi schnittstelle überhaupt was rauskommt.
[/code]Code:$regfile = "m128def.dat" $crystal = 4000000 'internal 4MHz RC $baud = 9600 Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 128 , Noss = 0 'Config Spi = Soft , Dout = Portb.2 , Clock = Portb.1 , Ss = Portb.0 'Hier habe ich mal probiert, lief auch nicht!! Dim A(2) As Byte Dim I As Byte Spiinit Wait 1 I = 0 Do ' Initialisierung und SETUP (Je 2 bytes werden gesendet) A(1) = Lookup(i , Da1) Incr I A(2) = Lookup(i , Da1) Spiout A(1) , 2 Waitms 10 Incr I Loop Until I = 48 I = 0 Do 'Textausgabe (je ein byte wird gesendet) A(1) = Lookup(i , Da2) Spiout A(1) , 1 Waitms 10 Incr I Loop Until I = 16 Do nop nop nop Loop End Da1: Data &H30 , &H00 , &H30 , &H00 , &H00 , &HDB , &H10 , &H00 Data &H00 , &HCF , &H10 , &H4E , &H00 , &HD0 , &H15 , &H32 Data &H00 , &HCD , &H12 , &H01 , &H00 , &HCE , &H1B , &H95 Data &H00 , &HC0 , &H1F , &H90 , &H1F , &H90 , &H1F , &H80 Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80 Data &H1F , &H80 , &H1F , &H80 , &H1F , &H80 , &H1F , &H80 Da2: Data &H20 , &H35 , &H3B , &H32 , &H2C , &H31 , &H0B , &H0B Data &H1D , &H2A , &H2D , &H32 , &H30 , &H0B , &H0B , &H0B
Also: Phase=1 als einstellung bewirkt auf jeden fall eine initialisierung, aber ansonsten gibt er nur müll, gibts denn niemand mit erfahrung was diesen Baustein angeht?
bist du dir auch sicher, dass du die fuses richtig gesetzt hast?
Die fuses sind richtig gesetzt. Phase=0 war falsch. und dann noch RTFM fehler gemacht, grins.
Lesezeichen