helft mir bitte weiter
Druckbare Version
helft mir bitte weiter
Ja, so ist es.Zitat:
Zitat von _R2D2
Genau. Umgekehrte Logik :-) Ein "LOW" aktiviert, ein "HIGH" deaktiviert. Ist bei SPI so üblich.Zitat:
Müsste man dann nicht vor dem Senden eines Befehls den Port deaktivieren?
Nein, zumindest das timing diagramm ist OK.Zitat:
Oder ist im Datenblatt ein Fehler
Im Prinzip musst du ein SPI-Bus im Programm schreiben. Also etwa in dieser Reihenfolge:
1.) Cable-Select auf low
2.) Ausgangspin (MOSI) setzen
3.) Clock setzen
4.) Eingangspin (MISO)einlesen
5.) Clock setzen
6.) Zurück zu 2.) (Bei 8-Bit Befehlen 8 mal)
7.) Cable-Select auf high
Timing habe ich jetzt mal rausgelassen, steht aber im weiter oben aufgeführtem Link.
Ich habe irgendwo im Internet einen C Code für die Module gefunden. Hier ist mal die Init-Funktion:
Müsste ich dann diese Zeile jetzt umändern, weil CS da ja aktiviert wird?Code:void rf12_init(void)
{
RF_DDR=(1<<SDI)|(1<<SCK)|(1<<CS);
RF_PORT=(1<<CS);
for (unsigned char i=0; i<10; i++)
_delay_ms(10); // wait until POR done
rf12_trans(0xC0E0); // AVR CLK: 10MHz
rf12_trans(0x80D7); // Enable FIFO
rf12_trans(0xC2AB); // Data Filter: internal
rf12_trans(0xCA81); // Set FIFO mode
rf12_trans(0xE000); // disable wakeuptimer
rf12_trans(0xC800); // disable low duty cycle
rf12_trans(0xC4F7); // AFC settings: autotuning: -10kHz...+7,5kHz
}
RF_PORT=(1<<CS);
mfg
Ich habe noch eine Frage:
Ich habe mal gelesen, dass man bei dem RFM12 Modul die Pin FSK/DATA/nFFS über einen Widerstand mit ca. 10kOhm mit VDD verbinden soll.
Muss man bei dem RFM01 Modul die Pin DATA/nFFS auch mit VDD verbinden?
Danke für eure Hilfe
mfg _R2D2
Kann mir denn niemand weiter helfen??? :(