GPS Daten über RS232 in Atmega8 einlesen, Code gesucht!

OP #2508057
Lesenswert?

Hallo,

ich arbeite an einem Projekt, bei welchem GPS-Daten (NMEA) über eine 
RS232 Schnittstelle in ein Atmega8 eingelesen werden sollen und dann via 
RFM02 zu nem RFM01 übertragen werden sollen. Von dort geht es dann 
wieder zu nem Atmega8 und zum auslesen an ne RS232.
Dies soll in Bascom programmiert werden. Die Datenübertragung via Funk 
und die Ausgabe an die serielle Schnittstelle funktioniert mit 
Testdaten.
Allerdings weiß ich nicht wie die GPS Daten eingelesen werden über die 
RS232.
Kennt jemand einen Code als Grundgerüst oder einen nützlichen Thread?

Danke im Vorraus.

lg
OP #2508097
Lesenswert?

um genau zu sein sind es 956! :-D man muß nur wissen wonach man sucht, 
danke!hab immer etwas mit gps und rs232 in der suche eingegeben.....
wolltest du mich nun nur hierauf hinweisen, oder hast du erfahrung mit 
sowas???
dann könntest mir vielleicht nen thread empfehlen, bevor ich alle 956 
durcharbeite!? :-D


lg
Gast #2508834
Lesenswert?

Die Daten über den uart einzulesen ist einfach und daraus machst du ein 
Byte-Arry das du wiederum an ans Funkmodul schikst. Vergiss nicht den 
RFM zu initialisieren.

Oder wiso benutzt du nicht dei RS232 Funkbrücke hier aus der 
Codesammlung die Macht genau dass was du wilst.
OP #2508850
Lesenswert?

hi bastler,

danke für die antwort!!! :-)

werde nun mal deinen tip befolgen und nach dieser funkbrücke suchen!

den pegelwandler zu ttl habe ich, trotzdem danke für den hinweis.

Bastler schrieb:
> Die Daten über den uart einzulesen ist einfach und daraus machst du ein
> Byte-Arry das du wiederum an ans Funkmodul schikst. Vergiss nicht den
> RFM zu initialisieren.

falls der funkbrückenthread nicht hilft, würde ich gerne nochmal hierauf 
zurückkommen wenn das kein problem für dich ist.

lg
#2508925
Lesenswert?

bezen bu schrieb:
> falls du diesen thread meintest :
>
> Beitrag "bidirektionale RS232 Funkbrücke mit RFM12"
>
> da sind die codes leider in c programmiert, brauche aber eine bascom
> lösung!

Dann wirst du das lernen müssen.

Das ist doch nicht schwer.
Der Brücke ist es doch völlig wurscht, welche Daten das sind.
Zeichen von der einen UART einlesen und auf der anderen ausgeben. UNd 
das alles in einer Schleife. Ist doch kein Hexenwerk.
OP #2509006
Lesenswert?

Karl Heinz Buchegger schrieb:
> Dann wirst du das lernen müssen.

ich bin seit ca. 1 Monat dran bascom zu lernen bzw. mich damit zu 
beschäftigen soweit es meine zeit zuläßt! hätte mich auch durchaus mit c 
beschäftigen können, aber mein fachlehrer in microcontrollertechnik, hat 
uns bascom empfohlen, da hier probleme leichter umzusetzen wären.

ausserdem habe ich den ersten teil des projekts bereits in bascom 
umgesetzt.
und zwar die datenübertragung atmega8-->RFM02-->RFM01-->atmega8-->rs232
bin heilfroh das ich das hinbekommen hab!(bin anfänger)
jetzt noch auf c umzusteigen würde ich nicht hinbekommen, da ich auch in 
2 wochen zwischenpräsentation habe und hier wenigstens die 
datenübertragung per funk vorweisen kann. (hoffentlich auch die 
gps-daten bis dahin)
deswegen suche ich ein grundgerüst oder lösungsansätze von erfahrenen 
forennutzern in bascom....die links von krapao scheinen vielversprechend 
zu sein....werd ich mich heute abend mit beschäftigen.....wäre sehr 
dankbar, wenn auch du mir hilfestellung geben könntest, denke die 
erfahrung hast du!

bascom-forum habe ich auch schon probiert, aber da ist dieses forum 
1000x besser!

lg
Gast #2509056
Lesenswert?

Die Datenpakete vom GPS kommen von gnaz alleine im Sekundentakt du 
kannst so wie sie kommen weitereverschiken ode filtern und nur die daten 
schiken die du haben wilst.

Wenn ich mich nicht täusche steht auch einiges hilfreiches in der 
Bascomhilfe.

Suche mal nach dem Begriff interupt und Timer die könnten dir helfen.
Gast #2512693
Lesenswert?

Bastler schrieb:
> Die Daten über den uart einzulesen ist einfach und daraus machst du ein
> Byte-Arry das du wiederum an ans Funkmodul schikst.

der string wird wohl mit dem UART-Interrupt eingelesen.
z.B:

Dim s as string * 82

On Urxc Onrxd
Enable Urxc
Enable Interrupts

Onrxd:
s=s+chr(udr)
return

oder?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren