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 Blackdragon - 2.01.2011 1:36)
Als Antwort auf Frage zur SPI Schnittstelle von Blackdragon - 1.01.2011 13:38
Ich nutze:
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


    Antwort schreiben


Antworten:

Re: Frage zur SPI Schnittstelle (von tomsfinest - 15.08.2011 13:28)