Hallo, ich betreibe ein RFM12-Modul an einem AtTiny2313 mit dem Code aus dem Beitrag Beitrag "Beispielprogramm für RFM12 433MHz Funk-Module". Einzig die Pins habe ich angepasst(an die Pins für HW-SPI + PB4 als nSel und CLK an XTAL2) und die Wartezeit vor 0xC0E0 vergrößert(wie im RFM12-Artikel empfohlen). Mit meiner 433MHz Handfunke habe ich als erstes überprüft ob er sendet - Fehlanzeige. Mit der Forensuche kam ich zu folgende Indikatoren für eine fehlerfreie Kommunikation zwischen AVR und RFM: - nach der Initialisierung liegen am CLK Out 10MHz an - nach dem Power On ist im Statusbyte das Bit für den POR gesetzt Wie im Betreff erwähnt bleibt der CLK Out bei 1MHz. Mit meinem Buspirate als SPI-Sniffer kann ich sehen, dass der RFM beim ersten Byte 0x40 auf SDO ausgibt. Somit scheint die Verbindung zumindest in eine Richtung zu gehen. 1.Frage: Ist es normal, dass das Statusbyte(mit dem POR...) immer direkt nach dem Power On ausgegeben wird? Im Datenblatt liest es sich so, dass erst wenn ich 0x0000 sende das Statusbyte ausgegeben wird. 2.Frage: Genügt es ohne weitere Initialisierung 0xC0E0 zu senden um die Taktfrequenz zu ändern? Wenn ich den Tiny aus dem Sockel nehme und direkt mit dem Buspirate das Funkmodul versuche anzusteuern, funktioniert es auch nicht: 1. VCC einschalten 2. 0x0000 senden und 0x4000 empfangen <-- richtig 3. Frequenz messen: 1MHz <-- richtig 4. 0xC0E0 senden 5. Frequenz messen: 1MHz <-- falsch! Die Verkabelung habe ich schon mehrfach gecheckt. Wie es scheint, mache ich einen systematischen Fehler - bei genügend Forenmitgliedern funktioniert es ja. Hat jemand eine Idee woran es liegen kann? Vielen Dank im Vorraus, Sebastian DL3YC
Problem gelöst: die Leiterbahn direkt am Modul war abgerissen -> sah man nur unter dem Mikroskop.. Antworten auf meine Fragen: 1: Nach dem Poweron wird nur das Statusbyte mit dem POR-Bit ausgegeben, wenn man 0x00 sendet. Ergo: Wird immer mit dem Statusbyte unabhängig von den gesendeten Daten vom RFM12 geantwortet, dann ist der Kommunikationsweg vom µC zum RFM gestört. 2: Ja, so muss es aussehen: 1. VCC einschalten 2. 0x0000 senden und 0x4000 empfangen 3. Frequenz messen: 1MHz 4. 0xC0E0 senden 5. Frequenz messen: 10MHz
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.