Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Frage zur SPI Schnittstelle Kategorie: IDE (von tomsfinest - 15.08.2011 13:28)
Als Antwort auf Re: Frage zur SPI Schnittstelle von Blackdragon - 2.01.2011 1:36
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128
> > 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


    Antwort schreiben


Antworten: