mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RFM12 mit Atmega168


Autor: Sebastian B. (sebastian_b86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich weiß es gibt schon viele beiträge zu dem thema, aber irgendwie ist 
dann das problem doch wieder spezifisch...
undzwar: ich habe einen atmega168 und rfm12b  (868MHz Dip Version) 
module. mit denen möchte ich gerne ein wenig herumfunken und div. 
projekte realiesieren.
zudem verwenden wir v-usb damit wir einfach am pc anstecken und loslegen 
können, bzw der datenaustausch soll dann damit auch funktionieren...

kurz zum setup: int0 ist für den D- am USB belegt, D+ verwenden wir den 
RX Port, da wir den eh nie brauchen.
Der RFM12B hängt über die übliche SPI Schnittstelle am atmega, sprich 
SCK -> Pin 19, SDI -> Pin 17, SDO -> Pin 18, IRQ -> INT1 und SEL -> Pin 
16.
nFFS haben wir auch mal mit 10k Pullup versehen, hat auch keinen 
unterschied gemacht.
Das ganze Board rennt auf 16Mhz mit Quarz und 3,3V.

Soo nun zur Softwareseite. Wir haben die rfm12 lib von 
http://www.das-labor.org/wiki/Datenfunk_mit_dem_AVR jedoch ein wenig 
modifiziert: http://git.42.lefant.net/gitweb/reox/rfm12.git da sich 
registernamen zwischen atmega8 und atmega168 geändert haben.

zum problem: wir bekommen eigentlich nie eine gescheite verbindung 
zusammen. datenübertragung selber geht gar nicht! auf einem µC sehe ich 
folgendes verhalten. mit dem demoprogramm von hier: 
http://git.42.lefant.net/gitweb/reox/rfm12.git/blo... 
passiert folgedes:
zuerst sehe ich das der rfm in den zustand STATE_TX und dann STATE_IDLE 
geht. das geht auch ein paar mal so, bis irgendwann nur mehr STATE_TX da 
steht und dann kommt er in gar keinen zustand mehr rein wenn ich den 
button erneut drücke...
ich hab auch ein bissi mitm oszi herumgespielt und nach fehlern gesucht 
aber außer das ich nur ein merkwürdiges verhalten von manchen pins 
bekomme (ich wills net genau erläutern da ich glaube das unser fehler 
irgendwie anders ist) seh ich nix besonderes.
wir haben alle unsere rfm module getestet und haben bei allen selbiges 
verhalten...

jetzt die frage: hat irgendjemand eine rfm12 lib für atmega168 schon 
parat oder kann mir jemand sagen wo der fehler da gemacht wurde? haben 
sich sooo viele dinge geändert zwischen atmega8 und atmega168 das die 
libs nimmer kompatibel sind?
das ist alles was wir in der lib geändert haben. 
http://git.42.lefant.net/gitweb/reox/rfm12.git/blo...
(( das sollte eigentlich auch drin sein
-#define FREQ 433000000UL
-#define RFM12_BASEBAND RFM12_BAND_433
+#define FREQ 868000000UL
+#define RFM12_BASEBAND RFM12_BAND_868)
zusätzlich habe ich nur noch das uart gefixed, das ich debuggen kann 
(das geht einwandfrei)

vielen dank!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.