Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > Hallo, > > > ich habe mal eine Frage zur SPI-Schnittstelle. > > > Ich habe ein SPI Gerät das ich erst init. muss. > > > Nun muss ich diesem Gerät mehre Steuerbytes senden. > > > Mein Problem ist jetzt, dass das erste Senden von einem Byte noch klappt. > > > Beim 2. Byte hängt sich der Controller auf. Das ist das selbe Ergebnis, als wäre kein Gerät > > > an den SPI-Schnittstellenspins angeschlossen. Man kann dieses Problem mit dem simplen Programm > > > ohne SPI Gerät nachvollziehen. Im Ausgabefenster beim Debugen kommt man nur bis SPI_Write 2. > > > Das passiert mit der IDE 2.1 bzw. mit der neuen 2.12.08 auch. > > > > > > Kann es sein, dass man irgend ein ACK als Rückantwort braucht ?? > > > > > > void main(void) > > > { > > > byte a; > > > Msg_WriteText("SPI_Enable"); > > > SPI_Enable(80); > > > Msg_WriteText("SPI_Write 1"); > > > a = 1; > > > SPI_Write(a); > > > Msg_WriteText("SPI_Write 2"); > > > a = 2; > > > SPI_Write(a); > > > Msg_WriteText("SPI_Write 3"); > > > a = 3; > > > SPI_Write(a); > > > Msg_WriteText("SPI_Read"); > > > a = SPI_Read(); > > > } > > > > > > > > > Gesundes Neues Jahr an alle.. > > > > > > Gruss Blackdragon > > > > Hallo, > > > > nach langem Suchen in anderen Foren bin ich auf die auf folgende Lösung gestossen. > > Dort stand, dass man den SS vor dem SPI-Enable einfach als Ausgang definieren soll. > > Dann beachte die SPI im Mastermode den SS nicht mehr. > > > > Das habe ich gemacht, und siehe da, der Controller hängt sich nicht mehr auf. > > > > Port_DataDirBit(8,1) 'PortB.0 = als Ausgang SPI - SS disable > > Port_WriteBit(8,0) 'PortB.0 = als Ausgang SPI - SS disable > > > > Ist bloss schade, dass man sowas nicht in der Doku findet. > > > > Gruss Blackdragon > > Es ist überhaupt schade, dass die SPI-Schnittstelle so miserabel dokumentiert ist. Ich hatte das > gleiche Problem mit einem Display (EA-DOGM 132) an der Mega 32 und dein Tipp war Gold wert. > > Danke Tom