Hi,

Its final and full working code, any questions please asck.



Code:
--------------------------------------------------------------------------
@ Device HS_OSC
define OSC 20 ' Check the spelling of OSC, must be in capital letter

Include "modedefs.bas" ' Include serial modes

Define LCD_DREG PORTD
Define LCD_DBIT 4
Define LCD_RSREG PORTD
Define LCD_RSBIT 3
Define LCD_EREG PORTD
Define LCD_EBIT 2
Define LCD_COMMANDUS 2000 ' Command Delay (uS)
Define LCD_DATAUS 50 ' Data Delay (uS)
DEFINE LCD_LINES 2 'Number lines on LCD

DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 129 ' 9600 Baud @ 20MHz, 0.16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

LCDOut $FE, 1

Clear
sms var byte[10]
numero VAR BYTE[12]
Lat var byte[11]
Long var byte[11]

TrisB.7=0 ' LIGA GSM
TrisB.6=1 ' IGNIÇÃO
TrisB.5=1 ' SENSORES
TrisB.4=0 ' FEXA PORTAS
TrisB.3=0 ' PISCAS
TrisB.2=0 ' IMOBLIZA
TrisB.1=0 ' ?????????????
TrisB.0=0 ' LED OK VERDE

TrisC.4=1 ' RX BT
TrisC.5=0 ' TX BT
TrisC.6=0 ' TX GSM
TrisC.7=1 ' RX GSM

TrisD.1=1 ' RX GPS

Low PortB.1
Low PortB.2
Low PortB.3

Inicio:
Low PortB.0
Pause 500
High PortB.0
Pause 500
Low PortB.0
Pause 500
High PortB.0 'pisca 3 vezez e desliga
Pause 500
Low PortB.0
Pause 500
High PortB.0
Pause 500
Low PortB.0
Pause 2000

UM:
Low PortB.1
HSEROUT["at",13,10]
HSERIN 10000,UM,[WAIT("OK")]
LCDOut $FE, 1,"ON"
HIGH PortB.0

DOIS:
serin2 portD.1, 188, [WAIT("$GPRMC,"),skip 13, STR LAT\11,skip 1, STR Long\12]
High PortB.1


HSEROUT["AT+CMGF=1",13,10]' Modo Texto
HSERIN 10000,UM,[WAIT("OK")]
LCDOut $FE, 1,"ok"

HSEROUT["AT+CMGR=1",13,10] ' Ler sms
HSERIN 5000,UM,[WAIT("REC UNREAD"),skip 3, STR numero\13,skip 27,STR sms\10]


IF sms[0]="S" and sms[1]="t" and sms[2]="o" and sms[3]="p" Then
goto Tranca
Endif

IF sms[0]="C" and sms[1]="e" and sms[2]="l" and sms[3]="i" and sms[4]="a" Then
goto Destranca
Endif

IF sms[0]="P" and sms[1]="o" and sms[2]="s" Then
goto PO
Endif

Goto APAGA

Tranca:
High PortB.3 'Piscas
Pause 500
High PortB.2 ' Imobliza
Goto PO

Destranca:
Low PortB.3 'Piscas
Low PortB.2 ' Imobliza
Goto APAGA

Liga: ' LIGA GSM
High PortB.7
Pause 20000
Goto UM

PO: ' Enia localizacao
HSEROUT["AT+CMGS=",34,STR numero, 34,13]
hserin 10000,PO,[WAIT(">")]

Lo:
HSEROUT["LAT: ",LAT (10),"-", LAT, lat (1),"'",lat (2),Lat(3),".",lat (5),lat(6),lat (7),lat(8),$fe,$c0,"LON: ", Long(11),"-", Long (1),long (2),"'",Long (3),long (4),".",Long (6),long (7),long(8),long (9),13,10]
hserin 10000,lo,[WAIT(">")]

Li:
HSEROUT[26]
hserin 10000,li,[WAIT("OK")]


APAGA:
HSerout ["AT+CMGD=1",13,10]' apaga sms 1
hserin 10000,APAGA,[WAIT("OK")]
HSerout ["AT+CMGD=2",13,10]
Pause 5000
goto Inicio


End
--------------------------------------------------------------------------


Thanks for all the help that you gave me.


Xau.