-
-
Erfahrener Benutzer
Roboter Experte
Also - für die Konfiguration des Chips brauchst Du nichts anderes zu machen als die 16 bit seriell auf den SDI-Pin zu geben. Das macht Bascom sehr komfortabel mit dem Befehl SPIOUT, var, bytes. Dieser Befehl sorgt dafür, dass 1. der SS-Pin (Slave select, verbunden mit nSEL) auf Low gezogen wird. Dadurch weiß der Chip, dass er jetzt gemeint ist und ein Kommando kommt. 2. wird der Clock-Takt aktiviert, und 3. das im Befehl bezeichnete Byte (oder mehrere!!) seriell cock-synchron über DOUT ausgegeben (daher zu verbinden mit SDI). Sind alle bits übertragen, geht SS (=nSEL) wieder auf High und der Chip weiß, dass es das jetzt war.
Die Umsetzung des Kommandos läuft im Chip dann ganz von alleine, man braucht nichts weiter zu tun.
Das FIFO-Register ist was ganz anderes, nämlich so ´ne Art Zwischenspeicher für zu sendende oder empfangene Daten, falls die mal schneller anfallen, als sie abgesendet werden können. Damit habe ich aber noch nie gearbeitet und daher keine Erfahrung. Ich hab meine RFM-Module bisher im einfachen (und unspannenden) FSK-Modus betrieben.
Nochwas zu SPIOUT, var, bytes: Die Bascom-Hilfe schreibt, dass "bytes" die Anzahl der zu sendenden bytes ist. Somit stellt sich die Frage, ob "var" auch immer ein byte sein muss. Für die Übertragung der 16-bit-Kommandos müsste man also immer 2 bytes in Folge übertragen. Hab´ ich auch so gemacht; ein Array definiert, z.B. A(2), und dann mit SPIOUT A(1), 2 beide in Folge gesendet. Ob man "var" gleich als Word senden kann (mit bytes = 2) weiß ich nicht. in Einzelbytes funktioniert´s aber auf jeden Fall.
Gutes Gelingen!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen