| | #31 (permalink) Top | |
| UserPlus | Citazione:
no semplifica ancora!!!! rxDone = 0 rxIndex = 0 while rxDone=0 if USART_Data_Ready=1 then rxGPSData = USART_Read if (rxGPSData="$") then rxDone = 1 end if end if wend Corto breve e conciso e cosi' trovi l'inizio della stringa dopo questo sei sicuro che i caratteri ricevuti saranno GPXXX ecc. quindi ricevi i caratteri successivi controlla se e' la tua stringa GGA e se si allora metti nelle variabili a seconda di dove li trovi separati dalla virgola .Attenzione pero' che quando il GPS non e' "agganciato" manda fuori delle stringhe con tutte virgole quindi fai il controllo per campo vuoto. Buone prove
__________________ C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano. ________________________________________________ ProtoMax proudly present: ProtoMeter 2 32bit ARM core + ZigBee Radio all in one Telemetry system ... Next on this forum | |
| | |
| | #32 (permalink) Top | |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Citazione:
rxDone=0 while while (USART_Data_Ready=0) wend if (USART_Read = "$") then rxDone=1 end if wend @aduri Ti ho mandato ieri per e-mail un po' d codice già pronto! Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. | |
| | |
| | #33 (permalink) Top | |
| UserPlus | Citazione:
e mi sa che poi non esce mai dal "wend" piu' esterno Il mio era un pezzetto di codice per trovare sempre l'inizio stringa poi il resto del codice per controllare caratteri ed altro, ma si puo' fare di meglio con una sola wend .while (USART_read <> "$") 'qui loppa fino a che non trova il car. $ wend all'uscita c'e' poi solo da capire se la string a e' GPGGA o altro caricando i dati sul famoso vettore
__________________ C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano. ________________________________________________ ProtoMax proudly present: ProtoMeter 2 32bit ARM core + ZigBee Radio all in one Telemetry system ... Next on this forum | |
| | |
| | #34 (permalink) Top | |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Citazione:
il primo ciclo ovviamente è while (rxDone=0) perchè while da solo fa poco! Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. | |
| | |
| | #35 (permalink) Top |
| User Data registr.: 04-06-2005 Residenza: Genova
Messaggi: 46
![]() | Alla fine ho fatto una serie di if di questo tipo e funziona. rxDone = 0 rxIndex = 0 while rxDone=0 if USART_Data_Ready=1 then rxGPSData = USART_Read if (rxGPSData="$") then rxDone = 1 else goto inizio end if end if wend rxDone = 0 rxIndex = 0 while rxDone=0 if USART_Data_Ready=1 then rxGPSData = USART_Read if (rxGPSData="G") then rxDone = 1 else goto inizio end if end if wend rxDone = 0 rxIndex = 0 while rxDone=0 if USART_Data_Ready=1 then rxGPSData = USART_Read if (rxGPSData="P") then rxDone = 1 else goto inizio end if end if wend ecc....... Ora sembra che tutto funzioni. Purtroppo, finiti (almeno spero) i problemi sw, iniziano quelli HW. Tutte le prove io le facevo col terminale del PC che, secondo lo std RS232 manda i segnali +-12V dove -12 significa 1 logico e +12V 0 logico. Ora il mio gps va collegato al pc con la seriale ed il mouse e da quest'ultimo prende l'alimentazione (circa 5V , 4,88V misurati) quindi presumo abbia un'uscita pseudo seriale a 5V. Io avevo costruito il circuito col max232 per interfaccciare il pic ed a questi punti non serve piu'. Mi chiedo ora come collegarlo a pic. L'uscita del mio GPS e' al piedino 2 del connettore RB9. Occorrera' negarlo? magari con un TTL 740....(non ricordo piu') |
| | |
| | #36 (permalink) Top |
| User Data registr.: 04-06-2005 Residenza: Genova
Messaggi: 46
![]() |
Ho risolto l'arcano!!!! Il segnale che arriva dal gps e' ttl ma va invertito e ho risolto con successo il problema con un normalissimo transistor bjt BC548 immettendo tramite una resistenza da 5,6K il segnale sulla base e prendendo il segnale invertito sul collettore inviandolo al pic. Tanti auguri di buone feste a tutti ![]() Ecco il prototipo con la prima decodifica |
| | |
![]() |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
| Visualizzatore file dxf dwg | filter | Aeromodellismo Progettazione e Costruzione | 4 | 12 giugno 06 12:54 |
| Interfaccia seriale -> notebook senza porta seriale | francyflyer | Simulatori | 4 | 10 marzo 06 18:48 |
| Visualizzatore | peppesci | Simulatori | 5 | 11 febbraio 05 10:25 |