Citazione:
|
Originalmente inviato da aduri
rxDone = 0
rxIndex = 0
while rxDone=0
if USART_Data_Ready=1 then
rxGPSData = USART_Read
GP[rxIndex] = rxGPSData ' Nmea 183 sentence $GPGGA
if (rxGPSData=44) then ',
if (GP[0]=36) and (GP[1]=71) then '$ and G
if (GP[2]=80) and (GP[3]=71) then 'P and G
if (GP[4]=71) and (GP[5]=65) then 'G and A
rxDone = 1
else
goto inizio
end if
end if
end if
end if
inc(rxIndex)
end if
wend |
Il problema e' qui! in pratica la stringa $GPGGA deve "cadere" proprio giusta nelle posizioni della variabile e cioe' il carattere $ al primo posto e gli altri di seguito..... fai invece cosi' cerca il solo carattere $ con lo stesso sistema e poi sai che di seguito avrai sempre GPxxx....... ecc.... il carattere dollaro $ e' fatto apposta per trovare il punto di partenza della stringa
A volte bisogna semplificarsi la vita