Hallo,
Omdat ik GPS altijd leuk heb gevonden heb ik een tijd geleden een GPS ontvanger gekocht.
Nu zou ik alleen de data die van de GPS ontvanger afkomt willen opslaan op een SD kaartje zodat ik later kan zien waar de ontvanger allemaal geweest is.
Het opslaan van de data op het kaartje wil ik laten regelen door een ATMEGA32. Op http://www.roland-riegel.de/sd-reader/index.html heb ik de code gevonden om mijn ATMEGA32 met mijn SD kaartje te kunnen laten praten.
De data van mijn GPS ontvanger komt alleen niet goed ontvangen. Nu heb ik een simpele test uitgevoerd middels HyperTerminal. Als ik een "character delay" van 2 ms instel komt alle data goed door. Maar als ik deze instel op 0 ms komt de data niet goed door.
Het lijkt er dus op dat de data te snel binnenkomt. toch vreemd: de data komt binnen met "slechts" 4800 baud en de atmega32 is geklokt op 20MHz
In de code zit al een (ring) buffer van 512 intergers (8 bit) die wordt gevuld door de interrupt routine en wordt leeggehaald in de main lus.
Een samenvatting van de gegevens:
Atmega32 op 20MHz (4MHz overgeklokt)
Seriële instellingen (niet aan te passen in mijn GPS ontvanger): 4800-8-N-1 (geen flow control)
De code: http://tbots1.files-upload.com/files/318811/UARTSD.zip
Het testbestandje: http://tbots1.files-upload.com/files/318812/random.txt
Het resultaat zonder character delay : http://tbots1.files-upload.com/files/318814/LOG003.TXT
Het resultaat met character delay : http://tbots1.files-upload.com/files/319000/LOG004.TXT
Ter info: mijn ontvanger stuurt eens per seconde een "pakket" data uit.
Dit pakket ziet er als volgt uit:
Omdat ik GPS altijd leuk heb gevonden heb ik een tijd geleden een GPS ontvanger gekocht.
Nu zou ik alleen de data die van de GPS ontvanger afkomt willen opslaan op een SD kaartje zodat ik later kan zien waar de ontvanger allemaal geweest is.
Het opslaan van de data op het kaartje wil ik laten regelen door een ATMEGA32. Op http://www.roland-riegel.de/sd-reader/index.html heb ik de code gevonden om mijn ATMEGA32 met mijn SD kaartje te kunnen laten praten.
De data van mijn GPS ontvanger komt alleen niet goed ontvangen. Nu heb ik een simpele test uitgevoerd middels HyperTerminal. Als ik een "character delay" van 2 ms instel komt alle data goed door. Maar als ik deze instel op 0 ms komt de data niet goed door.
Het lijkt er dus op dat de data te snel binnenkomt. toch vreemd: de data komt binnen met "slechts" 4800 baud en de atmega32 is geklokt op 20MHz
In de code zit al een (ring) buffer van 512 intergers (8 bit) die wordt gevuld door de interrupt routine en wordt leeggehaald in de main lus.
Een samenvatting van de gegevens:
Atmega32 op 20MHz (4MHz overgeklokt)
Seriële instellingen (niet aan te passen in mijn GPS ontvanger): 4800-8-N-1 (geen flow control)
De code: http://tbots1.files-upload.com/files/318811/UARTSD.zip
Het testbestandje: http://tbots1.files-upload.com/files/318812/random.txt
Het resultaat zonder character delay : http://tbots1.files-upload.com/files/318814/LOG003.TXT
Het resultaat met character delay : http://tbots1.files-upload.com/files/319000/LOG004.TXT
Ter info: mijn ontvanger stuurt eens per seconde een "pakket" data uit.
Dit pakket ziet er als volgt uit:
code:
1
2
3
4
5
6
| $GPGGA,084447,5133.4558,N,00451.7980,E,1,09,00.9,00004.9,M,047.0,M,,*49 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,01.7,00.9,01.4*04 $GPGSV,3,1,12,01,28,310,48,02,27,093,51,04,21,053,49,05,73,076,51*7C $GPGSV,3,2,12,06,29,205,48,09,30,138,48,14,42,264,50,20,03,350,00*70 $GPGSV,3,3,12,24,03,016,00,25,13,308,43,30,72,274,50,37,,,47*44 $GPRMC,084447,A,5133.4558,N,00451.7980,E,068.2,077.0,251205,,,A*78 |
Alvast hartelijk bedankt voor al jullie hulp en reacties, Tim Bots