Forum: Mikrocontroller und Digitale Elektronik RFM70 und ATMega16 benötige Hilfe!!


von Tom B. (buzze11)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
ich versuche seit einigen Tagen Kommunikation zwischen zwei RFM70 
Funkmodulen herzustellen. Zunächst soll einfach ein Datentransfer 
stattfinden, bei dem der Empfänger die empfangenen Daten auf die Leds 
ausgibt. Als Basis verwende ich zwei STK500 Boards, an denen ich die 
RFM70 Module angeschlossen habe.

Hier die Eckdaten:
ATMega16
CE=PB3, CSN=PB2, SCK=PB7, MOSI=PB5, MISO=PB6
VDD und GND am STK500 Portanschluss; VRef auf 3,3V eingestellt.
PORTC=Anschluss der Leds
INT0=PD2

Bisher sind alle Versuche gescheitert. Ich habe die Sourcen komplett 
angehangen. Schaut bei den Sourcen nicht zu genau hin. Ich bin noch 
relativ neu was C Programmierung betrifft. Hat vielleicht jemand eine 
Idee, was falsch sein könnte? Einen Hardwaredefekt schließe ich 
eigentlich aus, da ich schon 6 Module getestet habe.


Über Eure Hilfe würde ich mich sehr freuen.

Viele Grüße
Thomas

von Tom B. (buzze11)


Lesenswert?

Hallo zusammen,
ich habe mich nochmal eine ganze Zeit lang mit dem RFM70
auseinandergesetzt. Ich kann nun zumindest per SPI die Registerbänke der
RFM-70 auslesen und auf den Led´s ausgeben! Dass heißt, dass die
SPI-Schnittstelle soweit schon mal zu laufen scheint.
Per RFM70_send_packet(RFM70_WRITE_TX_PAYLOAD, testdaten, 5);  konnte ich
zumindest einen RX_Interrupt am Empfänger auslösen.
Wenn ich aber versuche die Empfangenen Daten auszugeben, sehe ich völlig
andere Werte, als ich am Sender zum TX bereitgestellt hab.

Zudem funktioniert der Empfang unterschiedlich lang. Dass heißt, auf der
TX Seite schicke ich dauerhaft alle 550ms die Daten raus.
Am Empfänger habe ich gleichen Intervall bei jedem RX-Interrupt eine
Anzeige(wenn auch falsch), die aber irgendwann einfach seinen Dienst
einstellt.
Die TX Seite pollt weiter, aber auf der RX-Seite wird irgendwann nichts
mehr angezeigt.

Per RFM70_send_packet(RFM70_WRITE_TX_PAYLOAD_NO_ACK, testdaten, 5); am
TX-RFM70 ist am RX-Modul kein Interrupt aufgetreten.
Es sieht so aus, als wäre bei der Kommunikation der 2 Module der
Handshake nicht zu funktionieren scheint.

Hast jemand diese Phänomene schon gehabt? Oder eine Idee wie ich weiter
suchen/vorgehen kann?

von Timmo H. (masterfx)


Lesenswert?

hast du mal den Beispielcode ohne sonstige Anpassungen von HopeRF
übernommen? Der Funktioniert bei mir nämlich einwandfrei.

von Tom B. (buzze11)


Lesenswert?

Hallo Timmo,

nein, das hab ich bisher noch nicht ausprobiert. Zumindest die 
SPI-Ansteuerung in der RFM70_init.c und die RFM70.h muss ich dafür aber 
doch ohnehin abändern, da ich die on-chip SPI vom AVR nutze, oder sehe 
ich das falsch?

Viele Grüße
Tom

von Tom B. (buzze11)


Lesenswert?

Habs hin bekommen! :)
Es war die Hardware SPI vom ATMega..

Viele Grüße
Tom

von fabi88 (Gast)


Lesenswert?

Hi,
habe gerade ein ähnliches Problem.
Hast du jetzt letztlich nur einen Hardware-Fehler gehabt und obiger Code 
funktioniert oder hast du da auch noch etwas verändert?

Gruß Fabian

von Tom B. (Gast)


Lesenswert?

Hallo fabi88,

welche Hardware benutzt Du zum Testen? STK500?

Gruß Tom

von Lukas (Gast)


Lesenswert?

Hi Tom B.,
ich befasse mich auch geade mit dem RFM70 und habe ein paar 
"Startschwierigkeiten". Wäre es möglich, dass du die aktuelle Version 
deines Codes reinstellst? Damit würdest du mir sehr helfen =)

Gruß Lukas

von Tom B. (buzze11)


Lesenswert?

Hallo Lukas,

an der Source die du weiter oben im Thread findest hat sich derzeit 
nichts mehr getan. Ich habe das Thema nachdem es mit obigem code lief 
nach hinten gestellt, bis ich die Hardware die ich nutze komplett fertig 
habe.

Gruß
Tom

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
Noch kein Account? Hier anmelden.