Ich verwende ATMEL Studio 6 zum Programmieren und Anfänger in eingebetteten Systemen. Derzeit habe ich die Theoriearbeit von SPI gelesen. Ich verstehe, dass ich bestimmte Bits im Steuerregister auf eins setzen muss, um den Master- oder Slave-Betriebsmodus und die Taktpolaritäten, die Phase usw. zu definieren.
Problem: 1) Wie konfiguriere ich MOSI, clock und select_line als Ausgangspin vom Master und MISO als Eingangspin zum Master?.
2) Master und Slave sind beide Mikrocontroller, ich muss nur Daten zum und vom Slave übertragen und empfangen. Sollte also der Master-Code im Master-MC und der Slave-Code im Slave-MC abgelegt werden? oder beide mcs müssen den gesamten code in sich haben?.
3) Was sind die wichtigsten Faktoren und Schlüsselpunkte, die bei der SPI-Programmierung berücksichtigt werden sollten?
Jede Hilfe, Anregung und Wegbeschreibung diesbezüglich wäre willkommen. Danke.
Mit dem Register legen Sie dieDDRx
Richtung eines Stiftes fest ( D atenrichtungsregister ) . ist der Name des Ports, den Sie verwenden. Setzen Sie das entsprechende Bit für einen Ausgang auf 1 und für einen Eingang auf 0.x
Ist auf deiner Maus Windows installiert? Nein. Dasselbe gilt für Mikrocontroller. Sie brauchen den Code nur, um ihre eigene Aufgabe auszuführen. Wozu braucht der Slave die Software, die auf dem Master läuft?
SPI ist ein unglaublich einfaches Protokoll. Das Wichtigste dabei ist, dass es vollduplex und synchron ist. Wenn der Slave Daten an den Master senden muss, ist es Sache des Masters, diese Daten anzufordern – der Slave kann nicht einfach Daten nach Belieben an den Master senden. Es ist auch wichtig sicherzustellen, dass der Slave schnell genug auf das SS-Signal reagieren kann - Sie möchten nicht das erste Bit des ersten eingehenden Bytes verpassen.
PsychedGuy
PsychedGuy
Majenko