OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3025|回复: 5

请教一个GPS串口传输数据的问题

[复制链接]

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
发表于 2016-1-17 10:44:52 | 显示全部楼层 |阅读模式
3金钱
串口显示出来的数总是不对就是printf那三句,应该怎么写?,帮忙分析一下[mw_shl_code=c,true]#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "usart2.h"          
#include "gps.h"
#include "string.h"
#include "key.h"


u8 USART1_TX_BUF[USART2_MAX_RECV_LEN];                                         //串口1,发送缓存区
nmea_msg gpsx;                                                                                         //GPS信息
__align(4) u8 dtbuf[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 *)dtbuf,"Longitude:%.5f %1c   ",tp/=100000,gpsx.ewhemi);        //得到经度字符串
        LCD_ShowString(30,90,200,16,16,dtbuf);                  
printf("%d",*dtbuf);  
        tp=gpsx.latitude;          
        sprintf((char *)dtbuf,"Latitude:%.5f %1c   ",tp/=100000,gpsx.nshemi);        //得到纬度字符串
        LCD_ShowString(30,110,200,16,16,dtbuf);       
printf("%d",*dtbuf);       
        tp=gpsx.altitude;          
        sprintf((char *)dtbuf,"Altitude:%.1fm     ",tp/=10);                                    //得到高度字符串
        LCD_ShowString(30,130,200,16,16,dtbuf);                
printf("%d",*dtbuf);       
        tp=gpsx.speed;          
        sprintf((char *)dtbuf,"Speed:%.3fkm/h     ",tp/=1000);                                    //得到速度字符串         
        LCD_ShowString(30,150,200,16,16,dtbuf);                 [/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

来来来,好评哟,亲。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
金钱
1292
注册时间
2014-12-20
在线时间
534 小时
发表于 2016-1-17 10:44:53 | 显示全部楼层
864384664 发表于 2016-1-17 20:01
不好意思啊,好使了,我又写错了

来来来,好评哟,亲。
回复

使用道具 举报

16

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
金钱
1292
注册时间
2014-12-20
在线时间
534 小时
发表于 2016-1-17 14:42:14 | 显示全部楼层
你用整型显示地址上第一个字节干嘛?

应该是这样吧:printf("%s", dtbuf);  
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-17 17:40:31 | 显示全部楼层
谢谢,我试一下
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-17 19:59:18 | 显示全部楼层
BMN李 发表于 2016-1-17 14:42
你用整型显示地址上第一个字节干嘛?

应该是这样吧:printf("%s", dtbuf);

这回打印出来全是q
回复

使用道具 举报

13

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-12-28
在线时间
17 小时
 楼主| 发表于 2016-1-17 20:01:18 | 显示全部楼层
864384664 发表于 2016-1-17 19:59
这回打印出来全是q

不好意思啊,好使了,我又写错了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 14:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表