Hallo Avr-Racer ich nehme an das du selbst dem Problem auf noch nicht herr geworden bist. Nun ja es sind in diesem fred nun etliche Lösungsansätze. Die letztere ist noch ungetestet. Es läuft denke ich so oder so auf Soft SPI raus, dar das ganze einfach etwas unabhängiger ist in der Handhabung. Das RFM reagiert nur sporadisch, bzw erhalte ich sporadisch den inhalt des statusregisters via RS232 auf das terminal. Dieser ist aber um 1 bit verschoben. Dar ich irgendwie in erinnerung habe in den letzten Tagen schon einmal von dir gelesen zu haben eine Frage an dich. In wie fern hast du eine Funktionierende Kommunikation zwischen Modul und AVR realisiert? Ich bin zwar im Forum unterwegs, an den Basteltisch schaffe ich die nächsten Tage aber leider auch nicht. Wenn du eventuelle Infos hast wäre ich dir Dankbar wenn du sie hier posten könntest.
Beschaltung ist wie folgt-:
SDO / SDI /SCK/Nsel an frei Ausgänge des AVR´s welche in dem Programm zu declarieren sind. FSS oder wie der Pin heisst (3 auf der rechten Seite) über 10k auf VCC.
PS: Tut mir übrigens sehr leid das der Thread so Ausufert und ich einfach nichts weiter bringe :/ schöne Feiertage noch
Kleine neuerung ich hab jetzt einfach ,mal die vorher gepostete routine verwendet. Dank neuem terminalprogramm weis ich nun. Der UART spuckt nicht 000 aus. Die rohdaten sind 0x30 0x30 0x30
hier mal ein ausschnitt: Man sieht sehr gut wie nsel auf low geht dann eine eher etwas zulang geratene pause folgt und dann das bit 0xB8 also zu deutsch 184
Beim sender sieht es so aus als würde er in einer initschleife feststecken..immer die 11 fgleichen werte, dabei sollte er ein register dec und senden..
der Code des Senders:
CodeBox Assembler
Beschaltung ist wie folgt-:
SDO / SDI /SCK/Nsel an frei Ausgänge des AVR´s welche in dem Programm zu declarieren sind. FSS oder wie der Pin heisst (3 auf der rechten Seite) über 10k auf VCC.
PS: Tut mir übrigens sehr leid das der Thread so Ausufert und ich einfach nichts weiter bringe :/ schöne Feiertage noch
Kleine neuerung ich hab jetzt einfach ,mal die vorher gepostete routine verwendet. Dank neuem terminalprogramm weis ich nun. Der UART spuckt nicht 000 aus. Die rohdaten sind 0x30 0x30 0x30
hier mal ein ausschnitt: Man sieht sehr gut wie nsel auf low geht dann eine eher etwas zulang geratene pause folgt und dann das bit 0xB8 also zu deutsch 184
Beim sender sieht es so aus als würde er in einer initschleife feststecken..immer die 11 fgleichen werte, dabei sollte er ein register dec und senden..
der Code des Senders:
CodeBox Assembler
.include "tn44def.inc" ;///Ich sende dummdoof werte die Aufsteigen von 0-255 .org 0x000 rjmp main .def temp1=r16 .def temp2=r17 .def temp3=r18 .def temp4=r19 .def counter=r20 .def status=r21 .equ spiddr= ddra .equ spiport=porta .equ spipin=pina .equ sdo=0 .equ sdi=1 .equ sck=2 .equ nsel=3 .equ XTAL=1000000 main: ldi temp1, low(ramend) ldi temp2, high(ramend) out spl, temp1 out sph, temp2 rcall delay1s ldi temp4, 22 rcall RFM12init loop: inc temp4 mov XL, temp4 rcall RFM12sendbyte rcall delay100ms rjmp loop .include "RFM12V2.txt" ;.include"stddelay.inc"
Anhänge
Zuletzt bearbeitet: