Witam szanownych forumowiczów.
Mam prośbę o sprawdzenie programu odczytującego dane z odbiornika GPS przez UARTa.
Odbiornik GPS to FGPMMOPA4
link do noty katalogowej
http://download.maritex.com.pl/pdfs/wi/FGPMMOPA4.pdf
TX odbiornika podłączone do RXD mikrokontrolera (poziomy napięć dopasowane), sprzętowo wszystko działa.
Problem jest w programie:
$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
Config Portb = Output
Portb = 255
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Cursor Off
Cls
Dim Gprmc As String * 6
Gprmc = "$GPRMC"
Dim Znak As Byte
Dim Gps As String * 82
Dim Pozycja_naglowka As Byte
Dim Naglowek As String * 6
Dim Utc As String * 6
Do
Gps = ""
Do
Znak = Inkey()
Gps = Gps + Chr(znak)
Loop Until Znak = 10
Pozycja_naglowka = Instr(gps , Gprmc)
Naglowek = Mid(gps , Pozycja_naglowka , 6)
'Gps=$GPRMC,035242.000,A,2307.1220,N,12016.4420,E,0.06,0.00,140508,3.05,W,A*63
If Naglowek = "$GPRMC" Then
Utc = Mid(gps , 8 , 6) 'utc
End If
Locate 1 , 1
Lcd Utc
Loop
Jeśli przeniosę End if z czwartej linii od końca do przedostatniej linii wtedy wszystko działa.
Zależy mi jednak na tym, żeby wyświetlanie było na końcu a nie w warunku.
Mam prośbę o sprawdzenie programu odczytującego dane z odbiornika GPS przez UARTa.
Odbiornik GPS to FGPMMOPA4
link do noty katalogowej
http://download.maritex.com.pl/pdfs/wi/FGPMMOPA4.pdf
TX odbiornika podłączone do RXD mikrokontrolera (poziomy napięć dopasowane), sprzętowo wszystko działa.
Problem jest w programie:
$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
Config Portb = Output
Portb = 255
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Cursor Off
Cls
Dim Gprmc As String * 6
Gprmc = "$GPRMC"
Dim Znak As Byte
Dim Gps As String * 82
Dim Pozycja_naglowka As Byte
Dim Naglowek As String * 6
Dim Utc As String * 6
Do
Gps = ""
Do
Znak = Inkey()
Gps = Gps + Chr(znak)
Loop Until Znak = 10
Pozycja_naglowka = Instr(gps , Gprmc)
Naglowek = Mid(gps , Pozycja_naglowka , 6)
'Gps=$GPRMC,035242.000,A,2307.1220,N,12016.4420,E,0.06,0.00,140508,3.05,W,A*63
If Naglowek = "$GPRMC" Then
Utc = Mid(gps , 8 , 6) 'utc
End If
Locate 1 , 1
Lcd Utc
Loop
Jeśli przeniosę End if z czwartej linii od końca do przedostatniej linii wtedy wszystko działa.
Zależy mi jednak na tym, żeby wyświetlanie było na końcu a nie w warunku.