Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
hmm.
seems u also do the similar project with me...
why don't you buy the gps evaluation board...that one u can cnnect either with rs232 or USB as well..
ouh...is it right?...have u done your project?...can u share with me your coding...
i've already done it as well...
here my code:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 32 ' 38400 Baud @ -1.36%
define HSER_BAUD 38400
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
define OSC 20
gpsin var portc.7 'rx
gpsout var portc.6 'tx
HH VAR byte
MM VAR BYTE
SS VAR BYTE
ND VAR BYTE
NM VAR BYTE
NMD VAR WORD
WD VAR BYTE
WM VAR BYTE
WMD VAR WORD
AR VAR BYTE[20]
hmm...
i haven't finish yet this project...seems i also have problem display the data in lcd....but i can share with you the source code...
about ur program..what language you used to compile...because i'm not familiar with your program..
>>>> my program >>>>
#include <16f877a.h>
#include <stdlib.h>
#include <math.h>
#use delay(clock=20000000)
#define use_portb_lcd TRUE
#include <lcd.c>
#fuses hs,noprotect,nowdt,nolvp
#use rs232(baud=38400,rcv=pin_c7, xmit=pin_c6,parity=n)//gps only needs the rx and gnd pin
#define round(x,n) (floor(x*(10.0^n)+0.49)/(10.0^n)))
void get_fix(){
while (!good_fix){
rcv_chr=getc();
if (rcv_chr=='$'){
rcv_chr=getc();
if (rcv_chr=='G'){
rcv_chr=getc();
if (rcv_chr=='P'){
rcv_chr=getc();
if (rcv_chr=='G'){
rcv_chr=getc();
if (rcv_chr=='G'){
rcv_chr=getc();
if (rcv_chr=='A'){
rcv_chr=getc();
if (rcv_chr==','){
for (count=0;count<53;count++){
gps_str[count]=getc();
}
for (count=0;count<7;count++){
temp_str[count]=gps_str[13+count];
}
lat_float=atof(temp_str);
for (count=0;count<7;count++){
temp_str[count]=gps_str[26+count];
}
log_float=atof(temp_str);
ouh...seem like i also not familiar with yours too...:|
i'm using microcode studio to compile it..using c language..
and used pickit to load it to pic16f877a...
Hey u two, i am doing the same project as well, I am using EB-85A connecting it with the GPS Eval board to the PIC 16F877A. Well i am receiving the NMEA data but i am having a pinch in starting the coding to decipher the Code into readable data.
hmm.
seems we do the same project with same device..haha.
yup sure you can add me as well swe can discuss together and share source code..what compiler u used to debug the program..
do you refer any other source code???..
if yes..can you share with us...
Syamia, nice to meet u. I am using MBlab ide to do the software. Well i dont have any source code with me right now. I can get the nmea data from the gps and now i have figure out how to get decipher her lat long from the code. Yea i will be sure to add u xD
i already attach my source code in this topic..
but still can't get any data from gps..
i use pcw-c compiler..means that i'm using c program instead of assembly program...but i salute you coz u use assembly language as your program..hahaha..
so how's your projecit going on??....
have you solve anything ???
Well i am now, gonna try to display the nmea code on my lcd first through the usart. After thats done, then i am gonna work on the code, using C language.
Added after 2 minutes:
I am thinking of using the switch case function for the nmea code. But i need to figure out how to make the ',' as the stop to recognise the GP*** .
haha..yup..
do yo have email.
so we can discuss this together.. derisghafar@yahoo.co.uk..
i use that code..
but still can't figure it how to get the gp***...
have you done anything with that??
it isn't the connections but the source code
how to make the read out in three digits from portB only??
i may upload the deign by proteus if u have time
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.