PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit EasyRadio-Modul



badamtam
22.11.2006, 16:45
Hallo!

Wenn ich mit meinem EasyRadio Transceiver einen Text an sein Gegenstück sende kommt auf der anderen Seite nur Zeichensalat an. Ich bin sicher, die voreingestellte Baudrate von 19200 in den Modulen nie umprogrammiert zu haben. Die in Bascom eingestellte Baudrate stimmt auch, die Quarzfreqeunz ist auch richtig eingestellt. Es hat auch schon mal alles tadellos funktioniert.

Der Aufbau bei mir ist folgender:

- Ein Atmega 16 angeschlossen ans 1. Funkmodul.

- Ein MAX232 am 2. Funkmodul, angeschlossen an einen Computer mit laufendem Terminalemluator

Vielleicht hat ja jemand von Euch einen Tip?

Dank und Grüße

x-ryder
22.11.2006, 17:09
poste mal bitte deinen code, hat er schonmal ohne die funkmodule funktioniert, also mit echter verbindung?

was verwendest du für einen quarz?

Martin

robby-fant
22.11.2006, 17:59
funkmodul mit den kalibrierprogramm neu kalibrieren.

bei mir ist ist das modul mal beim flashen des atmegas abgestürzt.

badamtam
22.11.2006, 18:02
Hier der Code:

$regfile = "m16def.dat"
$crystal = 8000000
$baud = 19200


Do
Print "Hallo! "
Waitms 1000
Loop

Ich hab aber auch schon versucht nur einmal beim Einschalten einen Text zu senden, leider auch erfolglos. Die Anzahl der Zeichen, die gesendet werden, stimmt wohl schon, nur daß es nicht die Richtigen sind. Probehalber hab ich auch schon die Baudrate auf beiden Seiten herabgesetzt, hat aber auch nichts gebracht. Genau mit diesem Programm gings auch mal - ich verstehs einfach nicht...

badamtam
22.11.2006, 18:25
funkmodul mit den kalibrierprogramm neu kalibrieren.

bei mir ist ist das modul mal beim flashen des atmegas abgestürzt.

was meinst Du jetzt mit "kalibrieren"? Die Baudrate und die Übertragungsparameter neu einstellen, oder gibts da noch was Anderes?

Xairo
05.12.2006, 17:08
was meinst Du jetzt mit "kalibrieren"? Die Baudrate und die Übertragungsparameter neu einstellen, oder gibts da noch was Anderes?

Nein. Aber ich kämpfe auch mit dem gleichen Problem.
Teste es gleich mit dem Oszi, mein Modul sendet derzeit immer und wenn der eigentliche String kommen sollte, wird er dazu als Datensalat übertragen.

Mal schauen, gibt sicher eine einfache Lösung.

Bluesmash
05.12.2006, 17:21
probiere doch mal den fehler einzugrenzen...
funkmodule raus und die beiden platinen direkt mit 3 drähten verbinden... gnd nicht vergessen zu verbinden! wen dies klappt könen nur die funkmodule falsch eingestellt sein....

gruss bluesmash

Xairo
05.12.2006, 17:29
Ja klar, danke.
Einfacher geht es wenn man an dem Empfänger RX und TX verbindet, dann gibt das Modul die gelesenen Daten direkt an den Sender zurück, das klappt allerdings. Wird wohl an der Verbindung zwischen dem AVR und dem Funkmodul liegen. Benutze ein USB Funkmodul welches die Daten bestens sendet und empfängt. Der Fehler liegt definitiv (für mich) auf der Seite des AVR's. Habe es nichtmal mit dem RN128MegaFunk hinbekommen. Entweder verstehe ich etwas Grundlegendes in Bascom nicht. Da ich die Daten von meinem Mac aus mit meinem Programm und mit einem Serial Communicator Programm bestens Senden und Empfangen kann (über die RX - TX Brücke)

Bluesmash
05.12.2006, 17:45
viel muss man ja in bascom nicht machen um etwas zu senden... das kleine testprogramm von badantam reicht ja schon... wichtig ist einfach die richtige quarzfrequenz... dazu sollte man auch in den fuses kontrollieren ob der mega auf internen oder externen takt eingestellt ist... ev. läuft er noch auf dem internen 4mhz takt oder so....

gruss bluesmash

Xairo
05.12.2006, 18:05
Die Fusebits sollten stimmen. Nutze ein RN-Mega2560 Modul.


'General Config
$prog , 255 , &B11011001 ,
$regfile = "m2560def.dat"
$hwstack = 82
$framesize = 68
$swstack = 68
$crystal = 16000000
$baud = 9600

'Led Config
Config Pind.5 = Output
Led Alias Portd.5

'USB Config
Config Com4 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com4:" For Binary As #4

'Program
Do
Led = 1
Waitms 500
Led = 0
Waitms 500
Print "FooBar"
Loop

End


$prog , 255 , &B11011001 ,

setzt die Fusebits korrekt - laut RN Doku.

Das EasyRadio Modul welches am AVR hängt empfängt und sendet die Daten auch korrekt wenn man RX und TX brückt, also stimmt die Konfiguration von den beiden Funk Modulen.

*update*

Also mit meinem Mega128Funk geht das (Fusebits waren falsch gesetzt, seit knapp 2 Monaten? Welch Zufall dass der Rest immer ging.)

Bei dem Mega2560 stimmen die Fusebits, aber es geht nicht.

... Die Würfel sind noch nicht gefallen ...!