Hallo,
habe vor ein paar Wochen hier beim Stöbern eine Diskkusiion zu
pinkompatiblen Nachfolgenr des PIC16F628 gefunden und wurde dadurch auf
den PIC16F1827 aufmerksam. Besonders interessiert mich das MSSP Modul,
was 2mal vorhanden ist. Das Folgende Projekt soll beide Module nutzen.
Nr.1 als I2C zur Ansteuerung eines LCD, was auch gut funktioniert und
Nr.2 soll Daten von einem RFM01-Modul via SPI empfangen. Hier fangen die
Propleme an. Ich habe exakt den gleichen Code auf einem AVR unter BASCOM
erfolgreich laufen. Auf dem PIC bleibt er beim Testen von nIRQ hängen.
Da ich am PIC noch nie mit SPI gearbeitet habe, vermute ich den Fehler
in meiner Konfiguration. Vielleicht kann der eine oder andere Fuchs
einen hilfreichen Hinweise geben.
Habe die Quelle auf das Wesentliche gekürzt.
Die PIC-Gurus sind wohl alle im Urlaub ...? ;-)
Gut, formuliere ich es einmal allgemeiner.
Gibt es jemanden, der bereits ein RFM01/RFM12 erfolgreich unter zu
Hilfenahme des MSSP-Moduls (Hard-SPI) als Empfänger an einem PIC zu
laufen hat?
So Freunde,
nachdem ich einen Verdrahtungs- und kleinere Programmfehler behoben
habe, kann ich das RFM01 dazu bewegen, eine LED im Rhytmus des
nIRQ-Signals blinken zu lassen.
Nach genauer Untersuchung aller Quellen hinsichtlich des Empfangs, habe
ich herausgefunden, daß das RFM01 nach Anlegen des nIRQ zunächst 2 Leer-
bzw. Dummybytes sendet und dann erst das eigentlich empfangene Zeichen.
Mein Problem ist nun, daß ich mit
1
Haupt
2
BANKSEL PORTB ; BANK 0
3
btfsc PORTB,nIRQ
4
goto Haupt
5
BANKSEL SSP2BUF ; BANK 4
6
movfw SSP2BUF ; Hole Daten aus SSPBUF
7
...
nur das erste Byte auslesen kann, welches 0x00 ist. Wie bewege ich den
PIC dazu, nochmal 2 Bytes zu holen bevor das nächste nIRQ-Signal
aufläuft?
Habe das Thema zu einem Abschluß gebracht und erfolgreich auf "Soft"-SPI
umgestellt. Grundlage war das Programmbeispiel von HOPERF zum RFM01.
Trotz Umstellung der C-Quelle auf Assembler hat alles in allem keinen
halben Tag gedauert.
Falls irgend jemand in Zukunft eine Lösung für das RFM01/RFM12 mit dem
eingebautem MSSP-Modul (egal welcher PIC) findet, möge er sich hier zu
Wort melden.
Hallo, bin durch suchen auf deinen Eintrag gestoßen.
Ist zwar schon lange her, aber ich hoffe trotzdem das du mir die Lösung
für den RFM12 schicken könntest.
MfG
Oli
Hallo,
Ich hätte auch großes Interesse an diesem Thema, und durchforste
fleissig Threads aus 2007 usw. und freu mich, dass ich aktuell nicht der
einzige bin.
Das was ich letzendlich erreichen will, bzw. meine Projektschritte sind:
1) PIC16F88 (oder ähnliche) erstmal sauber mit SPI kommunizieren lassen.
2) RFM01, RFM02 und RFM12 Module ansteuern.
3) Saubere Datenübertragung zwischen den Modulen hinbekommen.
4) Implementierung eines Addressierungs- und Fehlerkorrekturprotokolls
zur Kommunikation mit mehreren Modulen.
Momentan sitz ich bei Punkt 1). Ich hoffe auf rege Diskussionen oder
Tips und Tricks zu dem Thema :-)