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, ?!
Gast
#693903
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.
@ Travel Rec. Ich meinte SPRO.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.