Witam
Mam program do odczytu danych z modułu GPS. Mój problem polega na tym iże nie wiem jak zrobić zabezpieczenie przed pewną sytuacją a mianowicie w przypadku gdy np. odłączę Moduł. Chcę aby w tej sytuacji wyświetlał napis informujący o tym, bo teraz program się zatrzymuje i zawiesza.
pozdrawiam
Mam program do odczytu danych z modułu GPS. Mój problem polega na tym iże nie wiem jak zrobić zabezpieczenie przed pewną sytuacją a mianowicie w przypadku gdy np. odłączę Moduł. Chcę aby w tej sytuacji wyświetlał napis informujący o tym, bo teraz program się zatrzymuje i zawiesza.
Do
If Ischarwaiting() = 1 Then
A = Inkey()
If A = 36 Then
' -- sprawdzenie jakie dane idą ---
Txt = ""
For I = 1 To 5
Gosub Cze
A = Inkey()
Txt = Txt + Chr(a)
Next I
' -- wczytanie danych GPRMC
If Txt = "GPRMC" Then
'--godzina
Gosub Dop
Txt = ""
Gosub A
'Locate 1 , 1
Godzdzies = Mid(txt , 1 , 1)
Godzjed = Mid(txt , 2 , 1)
Mi = Mid(txt , 3 , 2)
Sek = Mid(txt , 5 , 2)
Godz1 = Val(godzdzies)
Godz2 = Val(godzjed) 'zmiana stringów od godziny na bajtową
Godz2 = Godz2 + 1
If Godz2 = 10 Then ' poprawa godziny 10 i 20
Godz2 = 0 : Godz1 = Godz1 + 1
End If
If Godz2 = 11 Then
Godz2 = 1 : Godz1 = Godz1 + 1
Else
End If
'dodanie 2h do naszej strefy czasowej
If Godz1 = 2 And Godz2 = 4 Then
Godz1 = 0 : Godz2 = 0 'jesli 24 zamien na 00
End If
If Godz1 = 2 And Godz2 = 5 Then
Godz1 = 0 : Godz2 = 1
Else
End If
Godzdzies = Str(godz1)
Godzjed = Str(godz2)
Lcdat 19 , 54 , Godzdzies , Black , White
Lcdat 19 , 63 , Godzjed , Black , White
Lcdat 19 , 73 , ":" , Black , White
Lcdat 19 , 83 , Mi , Black , White
Lcdat 19 , 103 , ":" , Black , White
Lcdat 19 , 113 , Sek , Black , White
'Lcd Mid(godzdzies , 1 , 1) ; Mid(godzjed , 1 , 1 ) ; ":" ; Mid(txt , 3 , 2) ; ":" ; Mid(txt , 5 , 2) ; " ";
Gosub Cze
'--status
Txt = ""
Gosub A
Sta = Mid(txt , 1 , 1)
Lcdat 22 , 4 , Sta , Black , White
'Locate 1 , 14
'Lcd "S:"
'Lcd Txt
Gosub Cze
Txt = ""
'-- Latitude
Gosub A
La = Mid(txt , 1 , 2)
La2 = Mid(txt , 3)
Lcdat 46 , 14 , La , Black , Brightblue
Lcdat 46 , 38 , La2 , Black , Brightblue
Lcdat 46 , 94 , "'" , Black , Brightblue
'Lcd Mid(txt , 1 , 2) ; Chr(0) ; Mid(txt , 3 , 5) ; "'" ;
Gosub Cze
A = Inkey()
Lcdat 46 , 102 , Chr(a) , Black , Brightblue
' N/S
'-- Longitude
Txt = ""
Gosub Dop
Gosub A
If Mid(txt , 1 , 1) = "0" Then
Lo = Mid(txt , 2 , 2)
Lo2 = Mid(txt , 4 )
Lcdat 56 , 14 , Lo , Black , Brightblue
Lcdat 56 , 38 , Lo2 , Black , Brightblue
Lcdat 56 , 94 , "'" , Black , Brightblue
Else
La = Mid(txt , 1 , 2)
La2 = Mid(txt , 3 )
Lcdat 56 , 14 , Lo , Black , Brightblue
Lcdat 56 , 38 , Lo2 , Black , Brightblue
Lcdat 56 , 94 , "'" , Black , Brightblue
End If
Gosub Cze ' E/W
A = Inkey()
Lcdat 56 , 102 , Chr(a) , Black , Brightblue
'-- predkosc
Txt = ""
Gosub Dop
Gosub A
Pre = Mid(txt , 1 , 5)
Pre2 = Val(pre)
Pre2 = Pre2 * 1.852
Pre = Str(pre2)
Lcdat 90 , 50 , "Pr:" , Black , White
Lcdat 98 , 50 , Pre , Black , White
Lcdat 98 , 97 , "km/h" , Black , White
'Lcd Mid(txt , 1 , 2) ; Chr(0) ; Mid(txt , 3 , 5) ; "'" ;
Gosub Cze
'kat
Txt = ""
Gosub A
Kat = Mid(txt , 1 , 3)
Lcdat 98 , 24 , Kat , Black , White
Gosub Cze
'--data
Txt = ""
Gosub A
Mi = Mid(txt , 1 , 2)
Sek = Mid(txt , 3 , 2)
Sek2 = Mid(txt , 5 , 2)
Lcdat 28 , 54 , Mi , Black , White
Lcdat 28 , 73 , "/" , Black , White
Lcdat 28 , 83 , Sek , Black , White
Lcdat 28 , 103 , "/" , Black , White
Lcdat 28 , 113 , Sek2 , Black , White
'Locate 2 , 1
'Lcd Mid(txt , 1 , 2) ; "/" ; Mid(txt , 3 , 2) ; "/" ; Mid(txt , 5 , 2) ; " ";
Gosub Cze
End If
End If
End If
Loop
End
$include "color8x8.font"
A:
Do
Gosub Cze
A = Inkey()
If A <> 44 Then
Txt = Txt + Chr(a)
End If
Loop Until A = 44
Return
Cze:
Do
Loop Until Ischarwaiting() = 1
Return
Opuscznak:
Gosub Cze:
A = Inkey()
Return
Dop:
Do
Gosub Cze:
A = Inkey()
Loop Until A = 44
Returnpozdrawiam