Guten Tag,
ich versuche das Beispiel von Benedikt mit dem RFM12 zum laufen zu
bringen,
jedoch läuft das bei mir nicht.Ich nutze den Soft SPI da die Hardware
SPI Pins bereits belegt sind.
CS und SCK an PortD 4 und 7 .
Mosi und Miso an PortC 0 und 1 .
Als Pegelconverter nutze ich den von Holger Klabunde.
Kann mir eiener Weiterhelfen von ihnen warum das mit meiner konstelation
nicht geht.
mfg
Software SPI hat den Charme, dass man die SPI-Übertragung durch einfügen
von Delays nach den Pin-Operationen zu Testzwecken nahezu beliebig
langsam machen kann.
Das wiederrum hat den Charme, dass man zum Beispiel beim Slave sich mit
ein paar LED einen Überblick verschaffen kann, welche Signale in welcher
Reihenfolge von Low auf High gesetzt werden, bzw. auch umgekehrt.
Wenn man keinen Logik-Analyzer hat, der einem die Übertragung anzeigt
und auswertet, dann ist das eine hervorragende Möglichkeit, sich selbst
etwas zu improvisieren und nachzusehen, ob die Übertragung klappt bzw.
wie das Gerät antwortet.
Bastler schrieb:> Wie erkennt der Level-Converter denn, daß er 3.3 V liefern soll,> wenn er an 5V angeschlossen ist? Eventuell wird ein neuer RFM12 fällig.
???????
74lvx sind doch an 3.3v angeschlossen
andy schrieb:> scheinbar Arbeitet niemand mit den Teilen.
Wenn man Tante Google befragt, stößt man auf gefühlt 1000 Projekte, die
den RFM12 einsetzen, davon auch etliche, die ihrem ATmega mit der
Arduino Software und den üblicherweise mit den Bibliotheken beigelegten
Beispielen das Laufen beibringen. Vermutlich ist das nicht alles nur
graue Theorie, sondern die Leute arbeiten tatsächlich mit diesen
praktischen kleinen Funkmodulen.
Mike schrieb:> andy schrieb:> scheinbar Arbeitet niemand mit den Teilen.>> Wenn man Tante Google befragt, stößt man auf gefühlt 1000 Projekte, die> den RFM12 einsetzen, davon auch etliche, die ihrem ATmega mit der> Arduino Software und den üblicherweise mit den Bibliotheken beigelegten> Beispielen das Laufen beibringen. Vermutlich ist das nicht alles nur> graue Theorie, sondern die Leute arbeiten tatsächlich mit diesen> praktischen kleinen Funkmodulen.
Das stimmt schon,
Ich hatte ja auch gefragt ob das mit meiner portconfiguration so geht,
kann ja auch falsch sein .
andy schrieb:> Mike schrieb:>> andy schrieb:>> scheinbar Arbeitet niemand mit den Teilen.>>>> Wenn man Tante Google befragt, stößt man auf gefühlt 1000 Projekte, die>> den RFM12 einsetzen, davon auch etliche, die ihrem ATmega mit der>> Arduino Software und den üblicherweise mit den Bibliotheken beigelegten>> Beispielen das Laufen beibringen. Vermutlich ist das nicht alles nur>> graue Theorie, sondern die Leute arbeiten tatsächlich mit diesen>> praktischen kleinen Funkmodulen.>> Das stimmt schon,> Ich hatte ja auch gefragt ob das mit meiner portconfiguration so geht,> kann ja auch falsch sein .
Na ja.
Was steht im Schaltplan? Welcher Pin ist was?
Was steht im Programm welche Pins benutzt werden?
Soviel solltest du schon programmieren können, dass du das in
Übereinstimmung bringen kannst.
Und PS: Man kann auch ein Testprogramm schreiben, bei dem man einfach
zum Bleistift den CS Pin auf 0 bzw. 1 setzt und dann am Baustein
nachsieht ob diese 0 oder 1 dort auch am Pin wieder auftaucht (mit dem
Multimeter oder simpler einer LED). Und dasselbe kann man auch mit den
anderen Pins machen.
Und schon brauchst du niemanden mehr fragen, sondern du hast dich selbst
davon überzeugt, dass der 'Datenausgang' des Programms auch wirklich am
'Dateneingang' des Moduls ankommt, respektive für alle anderen Pins
dasselbe.
Es wird Zeit, das du lernst dir selbst zu helfen.
Code irgendwo aus dem Web zusammenzukopieren kann jeder Affe. Das ist
keine Kunst. Aber von jemanden, der für sich in Anspruch nimmt ein
'Programmierer' zu sein, erwarte ich deutlich mehr. Unter anderem auch,
dass er ein paar simple Techniken kennt, wie er Dinge abklären kann. Und
sei es nur eine für ihn fragliche Verdrahtung zu überprüfen und zu
kontrollieren. Mehr als eine LED (samt Vorwiderstand) und der
Bereitschaft auch einmal ein Testprogramm zu schreiben, das nachher
weggeworfen wird, braucht es dazu nicht.
Karl H. schrieb:> andy schrieb:> Mike schrieb:> andy schrieb:> scheinbar Arbeitet niemand mit den Teilen.>> Wenn man Tante Google befragt, stößt man auf gefühlt 1000 Projekte, die> den RFM12 einsetzen, davon auch etliche, die ihrem ATmega mit der> Arduino Software und den üblicherweise mit den Bibliotheken beigelegten> Beispielen das Laufen beibringen. Vermutlich ist das nicht alles nur> graue Theorie, sondern die Leute arbeiten tatsächlich mit diesen> praktischen kleinen Funkmodulen.>> Das stimmt schon,> Ich hatte ja auch gefragt ob das mit meiner portconfiguration so geht,> kann ja auch falsch sein .>> Na ja.> Was steht im Schaltplan? Welcher Pin ist was?> Was steht im Programm welche Pins benutzt werden?
Ich hab das Programm von Benedikt hier aus der codesammlung.
Da ich die Pins für Hardware SPI nicht nutzen kann hab ich das eben
versucht über SOFT SPI zu realiesieren.
Der Pegelconverter funktioniert ich hab diesen mehrfach zusammen mit
einer SD-Card im einsatz.
Irgendwie haut das mit meiner Pinconfiguration nicht hin.
>> Soviel solltest du schon programmieren können, dass du das in> Übereinstimmung bringen kannst.>> Und PS: Man kann auch ein Testprogramm schreiben, bei dem man einfach> zum Bleistift den CS Pin auf 0 bzw. 1 setzt und dann am Baustein> nachsieht ob diese 0 oder 1 dort auch am Pin wieder auftaucht (mit dem> Multimeter oder simpler einer LED). Und dasselbe kann man auch mit den> anderen Pins machen.> Und schon brauchst du niemanden mehr fragen, sondern du hast dich selbst> davon überzeugt, dass der 'Datenausgang' des Programms auch wirklich am> 'Dateneingang' des Moduls ankommt, respektive für alle anderen Pins> dasselbe.>> Es wird Zeit, das du lernst dir selbst zu helfen.> Code irgendwo aus dem Web zusammenzukopieren kann jeder Affe. Das ist> keine Kunst. Aber von jemanden, der für sich in Anspruch nimmt ein> 'Programmierer' zu sein, erwarte ich deutlich mehr. Unter anderem auch,> dass er ein paar simple Techniken kennt, wie er Dinge abklären kann. Und> sei es nur eine für ihn fragliche Verdrahtung zu überprüfen und zu> kontrollieren. Mehr als eine LED (samt Vorwiderstand) und der> Bereitschaft auch einmal ein Testprogramm zu schreiben, das nachher> weggeworfen wird, braucht es dazu nicht.
andy schrieb:> Ich hab das Programm von Benedikt hier aus der codesammlung.> Da ich die Pins für Hardware SPI nicht nutzen kann hab ich das eben> versucht über SOFT SPI zu realiesieren.
Und warum sollen nicht mehrere SPI Slaves an einem Master funktionieren?
Hat denn die Kommunikation per Hardware SPI wenigstens funktioniert. Das
wäre doch der erste Test, um den Umgang mit dem Modul zu lernen. Danach
kann man immer noch auf Soft-SPI wechseln.
So hab ich das angeschlossen.
Avr mit 5v und das rfm12 mit 3.3v.
Beitrag "Re: RFM12 Atmega will nicht"
Ist meine Pincofiguration so richtig
#define SDI 0
#define SCK 4
#define CS 7
#define SDO 1
DDRD = (1<<SCK)|(1<<CS) ;//als ausgang
PORTD = (1<<CS) ;
DDRC = (1<<SDI) ;//als ausgang
DDRC&=~((1<<SDO));
RFM12 AVR
SDI MOSI
SDO MISO
SCK SCK
CS CS
Könnte da jemand drüber schauen.
auch wenns für andere vielleicht trivial ist.
mfg
andy schrieb:> Ist meine Pincofiguration so richtig>> #define SDI 0> #define SCK 4> #define CS 7> #define SDO 1>> DDRD = (1<<SCK)|(1<<CS) ;//als ausgang> PORTD = (1<<CS) ;>> DDRC = (1<<SDI) ;//als ausgang> DDRC&=~((1<<SDO));>> RFM12 AVR> SDI MOSI> SDO MISO> SCK SCK> CS CS>>> Könnte da jemand drüber schauen.
Das sieht soweit richtig aus, auch wenn ich bei Registern diese
Holzhammer-Zuweisungen mittels "=" nicht besonders mag. Spätestens wenn
du mal größere Projekte hast und Libraries zusammenführst, wird das
problematisch. Ein "|=" ist da wesentlich unverfänglicher.
Weil ich gerade woanders darauf gestoßen bin: AVCC am Mikrocontroller
ist angeschlossen und mit 100nF gegen GND gepuffert? Wenn nicht, sind
vermutlich deine Pins für MISO und MOSI ohne Energieversorgung.