HI Ich lasse zur Zeit 2 Microcontroller über ISP Kommunizieren. Leider wird die Übertragung fast immer gestört,sodass ein Textstring nie komplett richtig übertragen wird. Sogar bei einzelnen Bytes werden diese selten korrekt übertragen. Kann mir da jemand helfen? Gruß MIchi
SPI zu schnell getaktet? Leitungen zu lang? Schlechte Verbindungen? "Verseuchte" Umgebung? Ist normalerweise recht zuverlässig.
Zu 99,9% ist Deine Programmierung falsch. Probiere es vorerst mal mit den Code-Segmenten aus den Dattenblättern. Bedenke: auf beiden Controllern muß die SPI-Geschwindigkeit kleiner als 1/4 der Taktfrequenz der Controller sein. Außerdem müssen die Pins der SPI-Schnittstelle richtig konfiguriert sein, da nur so der Master auch Master bleibt. Stichwort: /SS-Pin.
SS Pin hab ich beachtet(is Ausgang). Hab auch die Codebeispiele aus dem Datenblatt verwendet. Mir is grad aufgefallen,dass bei der Masterinitierung SP= gesetzt wird,bei der Slaveinitierung aber nicht. Folglich ist die SPI-Geschwindigkeit des Masters ja 4mal so langsam(siehe Datenblatt) wie die des Slaves? Gruß MIchi
>Mir is grad aufgefallen,dass bei der >Masterinitierung >SP= gesetzt wird, ?!
Die Geschwindigkeit wird vom Master vorgegeben. Der Slave muss diese nur verarbeiten können (f_SPI <= 1/4*f_Slave). Ansonsten ist SPI eine sehr zuverlässige Kommunikation.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.