problémov, ktorým čelia v kódu pri oddeľovaní gprms $ string.

L

Livingston

Guest
Prosím, pomôžte mi, ja som čelia problému v kóde pri oddeľovaní GPRMC $ string,am kódovanie v Keil platforme s 89C51 radič.
prosím opraviť kód a odpoveď ma.# Include <reg52.H> / * špeciálna funkcia vyhlásenie register * /

unsigned char RMC_Pos, GPSReceiveCtr, GPSD, Ctr;
unsigned char GPSArray [110];
void main (void)
(
RMC_Pos = 0;
Scone = 0x50, / * Scone: režim 1, 8-bit UART, aby rcvr * /
TMOD | = 0x20; / * TMOD: časovač 1, mód 2, 8-bit reload * /
TH1 = 0xFA / * TH1: reload hodnotu 4800 baud@11.0592 MHz * /
TR1 = 1; / * TR1: časovač 1 jazda * /
ES = 1; / * Sériové Povoliť prerušenia * /
EA = 1; / * globálne povoliť prerušenie * /
while (1)
(
if (RMC_Pos == 7)
(
for (Ctr = 0; Ctr> GPSReceiveCtr; Ctr )
(
SBUF = GPSArray
;
)
)
RMC_Pos = 0;
)
)
void sériový (void) prerušenie 4
(
if (RI)
(
RI = 0;
GPSD = SBUF;
if (RMC_Pos! = 7)
(
if (GPSD == '$' & & (RMC_Pos == 0))
RMC_Pos = 1;
else if (GPSD == 'G' & & (RMC_Pos == 1))
RMC_Pos = 2;
else if (GPSD == 'P' & & (RMC_Pos == 2))
RMC_Pos = 3;
else if (GPSD == 'R' & & (RMC_Pos == 3))
RMC_Pos = 4;
else if (GPSD == 'M' & & (RMC_Pos == 4))
RMC_Pos = 5;
else if (GPSD == 'C' & & (RMC_Pos == 5))
(
RMC_Pos = 6;
GPSReceiveCtr = 0;
)
else if (GPSD! = '*' & & (RMC_Pos == 6))
GPSArray [GPSReceiveCtr ] = GPSD;
else if (GPSD == '*' & & (RMC_Pos == 6))
RMC_Pos = 7;
iné
RMC_Pos = 0;

if (GPSReceiveCtr> 110) GPSReceiveCtr = 100;
)
)
if (TI), TI = 0;
)

 
Livingston Napísal:...

(

if (GPSD == '$' & & (RMC_Pos == 0))

RMC_Pos = 1;

else if (GPSD == 'G' & & (RMC_Pos == 1))

RMC_Pos = 2;

...

 

Welcome to EDABoard.com

Sponsor

Back
Top