- Labornetzteil AliExpress         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 50

Thema: gps mit atmega32

  1. #31
    Benutzer Stammmitglied
    Registriert seit
    10.06.2006
    Ort
    Duisburg-Rheinhausen
    Alter
    78
    Beiträge
    80
    Anzeige

    Praxistest und DIY Projekte
    Hallo Che G.
    Ich wuerde mal hier im Forum suchen nach GPS es gibt viele Seiten.
    Die Seiten von GPSKLAUS solltest Du dir mal ansehen.
    Mein HI 204S hat zB eine Leitung Digital ausgang und eine RS232 ausgang.
    Gruß raggy

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    10.06.2006
    Ort
    Duisburg-Rheinhausen
    Alter
    78
    Beiträge
    80
    Hier noch ein Programm war nicht von mir hatte ich nur angepaßt auf meinen GPS Empfaenger.
    NOCHMALS das PROGRAMM ist NICHT VON MIR,es war hier aus dem Forum.
    Gruß raggy
    Code:
    
    'Programm für GPS_Modul HI-204S****************** 
    'kann an jeden anderen GPS Empfaenger angepaßt werden. 
     'Getestet auf Atmega16/32 und Atmega168 
    $regfile = "m16def.dat" 
    $crystal = 10000000 
    $baud = 4800 
    $hwstack = 32                                               'hardware stack 
    $swstack = 8                                                'software stack 
    $framesize = 44                                             'frame space 
    
    Dim K As String * 10 
    Dim S As String * 72 
    
    Dim N_grad As String * 2 
    Dim E_grad As String * 3 
    Dim N_min As String * 2 
    Dim N_ablage As String * 3 
    Dim E_min As String * 2 
    Dim Nord As String * 2 
    Dim Ost As String * 3 
    Dim Nord_rest As String * 7 
    Dim Ost_rest As String * 7 
    Dim E_ablage As String * 3 
    Dim N As String * 1 
    Dim O As String * 1 
    Dim Av As String * 1 
    Dim N_sec As Single 
    Dim E_sec As Single 
    Dim Runden As Single 
    Dim Ablage As Integer 
    Dim Ergebnis As Single 
    
    Const T = 1000 
    Const Time = 60 
    
    'Fuer Atmega168 
    'Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 
    
    'Fuer Atmega16/32 
    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2 
    
    Config Lcd = 40 * 2 
    Cls 
    Cursor Off 
    
    On Urxc Onrxd 
    Enable Urxc 
    Enable Interrupts 
    
    Main: 
    
    Goto Main 
    
    
    Onrxd: 
    'S = "$GPRMC,104549.04,A,2447.2038,N,12100.4990,E,016.0,221.0,250304,003.3;W;A" 
    S = S + Chr(udr) 
    If Len(s) = 72 Then 
    S = Mid(s , 2 , 71) 
    End If 
    K = Mid(s , 1 , 6) 
    '******Position In Grad und Minuten******Auslesen** 
    Nord = Mid(s , 21 , 2) 
    Ost = Mid(s , 33 , 3) 
    Nord_rest = Mid(s , 23 , 7) 
    Ost_rest = Mid(s , 36 , 7) 
    '**************Ende Position Auslesen*********************** 
    '--------------------------------------------------------------- 
    '****Daten Auslesen und in Grad Minuten u.Sec. umrechnen******** 
    
    'Daten** Nord-Süd** Grad**Minuten**Auslesen****** 
    N_grad = Mid(s , 21 , 2) 
    N_min = Mid(s , 23 , 2) 
    N_ablage = Mid(s , 26 , 3) 
    N = Mid(s , 31 , 1) 
    
    '***********Status A oder V***Auslesen******** 
    Av = Mid(s , 19 , 1) 
    '************************************** 
    '******** OST**West**Auslesen*************** 
    E_grad = Mid(s , 33 , 3) 
    E_min = Mid(s , 36 , 2 ) 
    E_ablage = Mid(s , 39 , 3) 
    O = Mid(s , 44 , 1) 
    '****************Rechnen umwandeln in Secunde*********************** 
    ' drei Stellen hinter dem Punkt in Sec umrechnen 
    ' geteilt durch tausend Mal 60  = SEKUNDEN! 
    'Fuer Top50 Karten WSG84********************************************* 
    
    '********Umrechnen Nord Sued  In Sec************************** 
    Ablage = Val(n_ablage) 
    Ergebnis = Ablage / T 
    Runden = Ergebnis * Time 
    N_sec = Round(runden) 
    '*************************************** 
    Ablage = Val(e_ablage) 
    Ergebnis = Ablage / T 
    Runden = Ergebnis * Time 
    E_sec = Round(runden) 
    '*****************Ende Rechnen************************************** 
    
    
    '*******Auf Display ausgeben**************************************** 
    
    If K = "$GPRMC" Then 
    
    Upperline 
    Lcd "" ; Ost ; Chr(223) ; Ost_rest ; Chr(39) ; O ; "     " ; Nord ; Chr(223) ; Nord_rest ; Chr(39) ; N ; "  " ; "STATUS=" ; Av 
    
    Lowerline 
    'Lcd E_grad ; " " ; E_min ; " " ; E_sec ; " " ; O ; "   " ; N_grad ; " " ; N_min ; "  " ; N_sec ; " " ; N 
    Lcd E_grad ; Chr(223) ; E_min ; Chr(39) ; " " ; E_sec ; Chr(34) ; " " ; O ; "   " ; N_grad ; Chr(223)  ; N_min ; Chr(39) ; " " ; N_sec ; Chr(34) ; " " ; N 
    
    End If 
    Return

  3. #33
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hallo raggy,

    danke für deine antwort, allerdings funzt auch dein prog nicht
    was mache ich bloß falsch?? ich habe jetzt schon das teil 10 minuten lang draußen liegen lassen, aber ist wird immer nichts auf dem display angezeigt

    hat jemand einen tipp für mich??

    gruß
    chris

    PS: die seiten von gpsklaus hab ich mir auch schon angesehen, hat alles nichts geholfen

  4. #34
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.05.2007
    Ort
    Im hohen Norden
    Beiträge
    227
    Guten morgen,
    die Daten werden in dem Code zwar verarbeitet, aber nicht empfangen. Es fehlt die Zeile

    Config Serialin = Buffered , Size = 72 , Bytematch = 36

    Bei dieser Zeile wird auf das $ gewartet , der Interrupt wird ausgelöst und anschließend werden 72 Zeichen eingelesen. Jeder GPS-Datensatz fängt mit $ an. Es wäre noch besser, wenn auf das Zeichen LF der Interrupt ausgelöst wird. Das ist das letzte Zeichen eines GPS-Datensatzes und somit zählt das Zeichen $ des neuen Datensatzes zum neuen Datensatz dazu. (Hier im Forum nach Onrxd suchen)

    Peter

  5. #35
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    gutn mittag,

    das ganze ist zwar einläuchtend und ich freue mich auch sehr über deine antwort, peter, allerdings tritt ein fehler beim compilimieren auf, wenn ich diese zeile in raggy's programm einfüge.

    ISR is already .........

    wenn ich das

    On Urxc Onrxd
    Enable Urxc
    Enable Interrupts

    weglasse, findet er irgendein label nicht!!

    gruß
    chris

  6. #36
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.05.2007
    Ort
    Im hohen Norden
    Beiträge
    227
    Iich gehe dann davon aus, dass Du nicht mit der aktuellen Bascom_version arbeitest.
    Das Label Onrxd muss vorhanden sein. Es handelt sich hierbei um einen defierten Namen. Die Zeile Config Serialin muss im Deklarationsteil des Bascom-Programms stehen.

    Peter

  7. #37
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    nein, ich habe version 1.11.8.3 , da ich davon die vollversion habe und das update irgendwie nicht funktioniert hat.
    kann ich trotzdem etwas tun??

    gruß
    chris

  8. #38
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.05.2007
    Ort
    Im hohen Norden
    Beiträge
    227
    OK, dann mach das mal wie folgt:

    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    
    Open "Com1:9600,8,N,1" For Output As #1                     ' COM 1 Output
    Open "Coma.3:4800,8,N,1,inverted" For Input As #2
    
    Dim Zaehler As Integer
    Dim A As Byte
    Dim GpsDaten(75) As Byte
    
       Zaehler = 0
       Do
          A = Waitkey(#2)
          If A = 36 Then
             Do
                A = Waitkey(#2)
                GpsDaten(Zaehler) = A
                Print #1 , Chr(GpsDaten(Zaehler));
                Zaehler = Zaehler + 1
                If Zaehler > 75 Then Zaehler = 1
             Loop
          End If
       Loop
       Close #1
       Close #2
    End
    Wobei hier
    Open "Coma.3:4800,8,N,1,inverted" For Input As #2
    als Input für den GPS-Empfänger gilt und die empfangenden Daten über die serielle Schnittstelle ausgegeben werden. Über ein Terminalprogramm mit den Parametern 9600,8,N,1 hättest Du die Daten in Deinem Terminalprogramm.
    Eine andere Möglichkeit ist nun, die empfangenden Daten nicht über COM an den PC auszugeben, sondern auf dem Board entsprechend dem anderen Programm auszuwerten und auf dem LCD-Display wiederzugeben. Dü könntest jetzt aus den beiden Programmen eines machen.
    Ich hoffe, ich konnte Dir so helfen.

    Peter

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    10.06.2006
    Ort
    Duisburg-Rheinhausen
    Alter
    78
    Beiträge
    80
    Hallo Che G:
    Versuch mal mit diesem Link
    http://www.liebl-net.dtdns.net/hard/...i/gps-moni.php
    Ganz unten kanst Du ein Programm in Bascom laden.
    wenn das nicht funktioniert kanst Du wohl von einem Hardware fehler
    ausgehen.
    Gruß raggy

  10. #40
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    hallo raggy,

    diesen link kannte ich schon, allerdings hab ich die software noch nicht ausprobiert!!

    leider zeigt hier der bildschierm die ganze zeit KEIN "GPS-Maus gefunden" an

    was mache ich bloß falsch??
    gruß
    chris

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress