|
楼主 |
发表于 2011-5-22 20:46:54
|
显示全部楼层
void main()
{
/* 初始化串口 */
rs232_init();
lcm_init();//初始化液晶显示器
lcm_clr();//清屏
DisableAllOut();
EnableGPRMC();
delay(1000); //延时1s
REN = 1; // REN = 1,开始接收数据
while(1);
}
/* 配置GPS模块禁用所有输出语句 */
void DisableAllOut()
{
/* 发送语句:$PGRMO,,2 */
TI = 0;
SBUF = 0x24; // 发送"$"
while(!TI);
TI = 0;
SBUF = 'P'; // 发送"P"
while(!TI);
TI = 0;
SBUF = 'G'; // 发送"G"
while(!TI);
TI = 0;
SBUF = 'R'; // 发送"R"
while(!TI);
TI = 0;
SBUF = 'M'; // 发送"M"
while(!TI);
TI = 0;
SBUF = 'O'; // 发送"O"
while(!TI);
TI = 0;
SBUF = ','; // 发送","
while(!TI);
TI = 0;
SBUF = ','; // 发送","
while(!TI);
TI = 0;
SBUF = '2'; // 发送"2"
while(!TI);
TI = 0;
SBUF = 0x2a; // 发送"*"
while(!TI);
TI = 0;
}
/* 配置GPS模块使能$GPRMC输出语句 */
void EnableGPRMC()
{
/* 发送语句:$PGRMO,GPRMC,1 */
TI = 0;
SBUF = 0x24; // 发送"$"
while(!TI);
TI = 0;
SBUF = 'P'; // 发送"P"
while(!TI);
TI = 0;
SBUF = 'G'; // 发送"G"
while(!TI);
TI = 0;
SBUF = 'R'; // 发送"R"
while(!TI);
TI = 0;
SBUF = 'M'; // 发送"M"
while(!TI);
TI = 0;
SBUF = 'O'; // 发送"O"
while(!TI);
TI = 0;
SBUF = ','; // 发送","
while(!TI);
TI = 0;
SBUF = 'G'; // 发送"G"
while(!TI);
TI = 0;
SBUF = 'P'; // 发送"P"
while(!TI);
TI = 0;
SBUF = 'R'; // 发送"R"
while(!TI);
TI = 0;
SBUF = 'M'; // 发送"M"
while(!TI);
TI = 0;
SBUF = 'C'; // 发送"C"
while(!TI);
TI = 0;
SBUF = ','; // 发送","
while(!TI);
TI = 0;
SBUF = '1'; // 发送"1"
while(!TI);
TI = 0;
SBUF = 0x2a; // 发送"*"
while(!TI);
TI = 0;
}
在串口中断里接收数据。 |
|