Gérer un récepteur GPS avec un 16f876

J'ai mis à vôtre disposition un programme qui permet de ne garder que certaines valeurs envoyées
par le récepteur GPS. La date, L'altitude, les coordonnées ainsi que la vitesse. Celle-ci
est au départ, en noeuds (selon la norme GPGGA). Je vous laisserai le "plisir" de décortiquer le
pourquoi du comment de ce programme et ci-dessus vous pouvez trouver le programme suivi
de la norme GPS :
GPS.asm
Attention je ne me sers pas de toutes les synthaxes lors de l'initialisation.
Une des norme les plus important est la GPRMC faisant partie bien attendu de la NMEA :
$GPRMC, 154356 ,A, 4856.188,N , 00225.603,E ,000.0,211.1, 191097 ,002.6,W*6A /*68 caractères*/
Traduction des points importants. Il faut savoir que je GPS transmzt de base son signal avec la norme RS232 à 9600 Bauds
154356 = heure de reception
4856.188,N = 48° 56 minutes 188 millièmes de secondes, N déclinaison NORD
00225.603,E = 002° 25 minutes 603 millièmes de secondes E Longitude Est
191097 = 19 octobre 1997 (ce fichier date un peu !)
Quand le GPS n'est pas calé sur des satelittes il ne peut pas donner les coordonnées numériques, donc la chaine sera plus courte dans ce style :
$GPRMC,154356,A,,N,,E,,,191097,002.6,W*6A /* 42 caractères*/
Une bonne longueur de chaîne indique une bonne réception. Dans le programme il suffira de "compter" les virgules pour attendre la bonne donnée.
La latitude fait TOUJOURS 8 caractères + la lettre (la latitude varie de 0° - équateur - à 90° - pôles N ou S)
La longitude fait TOUJOURS 9 caratères + la lettre (la longitude, elle comporte 3 chiffres, de 0 à 180 ° E ou W, plus les minutes et 1/1000 de secondes, donc 1 caractère de plus)
Les autres permettent d'obtenir des éléments nouveaux (altitude, etc...) à vous de choisir :
* "$GPGGA" -> utiliser pour l'altitude
* "$GPGSV"
* "$GPGLL"
* "$GPRMB"
* "$GPGSA"