求救,我在GPS模块与AT89S52单片机结合显示出GPS接收到的信息是以$GPRMS开头的字段可是显示不出来GPS的信息

来源:百度知道 编辑:UC知道 时间:2024/07/08 00:23:54
感觉是GPS的接收程序有问题,帮我看看GPS的接收程序有没有问题
#include<AT89X52.H>
#include<INTRINS.H>
#define uchar unsigned char
uchar gpsnum; //$GPRMC语句数据类型序号
bit gpsres=0; //开始接收数据标志,1为开始接收
uchar gpstime[11]; //时间数据
uchar *gpsptime=gpstime; //时间数据指针
uchar gpsstatus[2]; //状态数据
uchar *gpspstatus=gpsstatus; //状态数据指针
uchar gpsweidu[10]; //纬度数据
uchar *gpspweidu=gpsweidu; //纬度数据指针
uchar gpsnors[2]; //南、北半球
uchar *gpspnors=gpsnors; //南、北纬数据指针
uchar gpsjingdu[11]; //经度数据
uchar *gpspjingdu=gpsjingdu; //经度数据指针
uchar gpseorw[2]; //东、西半球
uchar *gpspeorw=gpseorw; //东、西经数据指针
uchar gpsdate[7]; //日期数据
uchar *gpspdate; //日期数据指针
void GPS_start(); //单片机控制GPS的串口初始化
void GPS_start()
{
SCON=0x50; //串口工作于方式1,REN=1
PCON=0x00; //不倍增
TMOD=0x20;
TH1=0xfa; //4800bps
TL1=0xfa;

没有时间读你的程序,把我的程序贴上来,供你参考一下吧,希望对你有些帮助.
//-----------------------------------------------------------------------------
// INCLUDES
//-----------------------------------------------------------------------------
#include "msp430x14x.h"
#include "RTC_Calendar.h"
#include <string.h>
#include <ctype.h>

//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------

#define SR_PWR_ON P2OUT|= BIT1; //高电平接通电源
#define SR_PWR_OFF P2OUT&=~BIT1;
#define SR_RST_LO P1OUT&=~BIT5; //低电平复位
#define SR_RST_HI P1OUT|= BIT5;

//GPS变量
union GPS_Dat
{
struct
{
unsigned int Speed; //速度 0.1km/h 2
unsigned int Angle; //角度 0.01度 2 4
signed long Latitude; //纬度 0.0001秒 4