新手上路
- 积分
- 20
- 金钱
- 20
- 注册时间
- 2016-1-2
- 在线时间
- 5 小时
|

楼主 |
发表于 2016-1-18 20:06:12
|
显示全部楼层
[mw_shl_code=c,true]u8 USART1_TX_BUF[USART2_MAX_RECV_LEN]; //串口1,发送缓存区
nmea_msg gpsx; //GPS信息
__align(4) u8 dtbuf[50];
__align(4) u8 dtbuf1[50]; //打印缓存器
__align(4) u8 dtbuf2[50];
const u8*fixmode_tbl[4]={"Fail","Fail"," 2D "," 3D "}; //fix mode字符串
//显示GPS定位信息
void Gps_Msg_Show(void)
{
float tp;
POINT_COLOR=BLUE;
tp=gpsx.longitude;
sprintf((char *)dtbuf1,"%.5f",tp/=100000,gpsx.ewhemi); //得到经度字符串
LCD_ShowString(30,130,200,16,16,dtbuf1);
printf("经度为%s\n",dtbuf1);
tp=gpsx.latitude;
sprintf((char *)dtbuf2,"%.5f",tp/=100000,gpsx.nshemi); //得到纬度字符串
LCD_ShowString(30,150,200,16,16,dtbuf2);
printf("纬度为%s\n",dtbuf2);
if ((*dtbuf1>11930.5805)&&(*dtbuf1<11930.7407)&&(*dtbuf2>3954.6001)&&(*dtbuf2<3954.7992))
{
printf("艺院体育场\n");
}
if((*dtbuf1>119.51134)&&(*dtbuf1<119.51356)&&(*dtbuf2>39.42235)&&(*dtbuf2<39.99999))
{
printf("第8组团\n");
}
tp=gpsx.altitude;
sprintf((char *)dtbuf,"Altitude:%.1fm ",tp/=10); //得到高度字符串
LCD_ShowString(30,170,200,16,16,dtbuf);
tp=gpsx.speed;
sprintf((char *)dtbuf,"Speed:%.3fkm/h ",tp/=1000); //得到速度字符串
LCD_ShowString(30,190,200,16,16,dtbuf);
if(gpsx.fixmode<=3) //定位状态
{
sprintf((char *)dtbuf,"Fix Mode:%s",fixmode_tbl[gpsx.fixmode]);
LCD_ShowString(30,210,200,16,16,dtbuf);
}
sprintf((char *)dtbuf,"Valid satellite:%02d",gpsx.posslnum); //用于定位的卫星数
LCD_ShowString(30,230,200,16,16,dtbuf);
sprintf((char *)dtbuf,"Visible satellite:%02d",gpsx.svnum%100); //可见卫星数
LCD_ShowString(30,250,200,16,16,dtbuf);
sprintf((char *)dtbuf,"UTC Date:%04d/%02d/%02d ",gpsx.utc.year,gpsx.utc.month,gpsx.utc.date); //显示UTC日期
//printf("year2:%d\r\n",gpsx.utc.year);
LCD_ShowString(30,270,200,16,16,dtbuf);
sprintf((char *)dtbuf,"UTC Time:%02d:%02d:%02d ",gpsx.utc.hour,gpsx.utc.min,gpsx.utc.sec); //显示UTC时间
LCD_ShowString(30,290,200,16,16,dtbuf);
} [/mw_shl_code]
|
|