OpenEdv-开源电子网

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

小弟我第一次做GPS模块,遇到了一个很蛋疼的问题,为什么单片机接不到gps传过来的数据!!!!

[复制链接]

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
发表于 2013-10-17 00:10:03 | 显示全部楼层 |阅读模式

电路是这样连的

测试程序如下:(作用在下
面介绍)

#include<reg52.h>

#include<string.h>

#include<stdlib.h>

#define u8 unsigned char

#define u32 unsigned int

sbit lcden=P3^4;

sbit lcdrs=P3^5;

sbit lcdrw=P3^6;

u8 code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

char  flag,flag2=0;

char date;

double temp1;

void delay(int z)

{

     int x,y;

     for(x=z;x>0;x--)

     for(y=110;y>0;y--);

}

 void write_com(u8 com)

{

     lcdrs=0;

     lcdrw=0;

     P0=com;

     delay(5);

     lcden=1;

     delay(5);

     lcden=0;

}

void write_data(u8 date)

{

     lcdrs=1;

     lcdrw=0;

     P0=date;

     delay(5);

     lcden=1;

     delay(5);

     lcden=0;

}

void init()

{

     TMOD=0x20;

     TH1=0xfd;

     TL1=0xfd;        //波特率为9600(gps波特率也为9600)

     TR1=1;

     REN=1;

     SM0=0;

     SM1=1;

     EA=1;

     ES=1; //串口中断

     lcden=0;

     write_com(0x38);

     write_com(0x0f);

     write_com(0x06);

     write_com(0x80);

     write_com(0x01);

 }

void main()

{   

     init();

     while(1)  

     {

    

         if(flag==1)

         {

             ES=0;

             write_data('b');

             flag=0;

             if(flag2>9)

             flag2=0;

             write_data(table[flag2]);

             ES=1;

         }

    } 

}

void ser() interrupt 4

{

     RI=0;

     date=SBUF;

     flag=1;

     flag2++;

}

该测试程序的作用是,只要单片机接到数据,lcd上就以个数的形式显示出来

当我用串口小助手手动发送任意数据,lcd上就会表现出来,而将gps模块连接上去以后lcd一点反应也没有,也就是说单片机没接到数据,但是gps模块是没问题的,直接连电脑是能定位的。

这个问题困扰小弟很长时间了,跪求大神解答!!!!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-17 11:31:22 | 显示全部楼层
没看到你的电路图,GPS模块用的是我们的模块么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-17 13:13:50 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
店主下面弄了这个网址说,有什么问题可以来这里讨论
网址是http://item.taobao.com/item.htm?spm=a230r.1.14.84.ZTTkGY&id=23773928333
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-17 13:58:49 | 显示全部楼层
GPS的TXD,我们串了一个510欧的电阻,你看看你单片机的RXD,有没有带其他负载?
如果没有,那我怀疑你的单片机不支持3.3V电平了...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-17 19:58:42 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
这我直接连了一根导线接触到单片机的管脚那边,不可能有负载,还有说明书里面明明写着兼容3.3v/5v啊,我的单片机是5vTTL的
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-17 22:40:51 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥,难道没解决办法了?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-17 23:29:29 | 显示全部楼层
回复【6楼】唯一的黄昏:
---------------------------------
你查查你的单片机数据手册,3.3V对于它来说,是不是高。
5V单片机,一般3.3V都是认为是高的了。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-19 21:19:54 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
那可以不可以,接一个放大器,放大到5v?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-19 23:02:27 | 显示全部楼层
回复【8楼】 唯一的黄昏 :
---------------------------------
加缓冲芯片即可
或者简单点,5V/3.3V转换电路,用MOS管实现.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-20 00:26:30 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
一定要用mos吗,9013为什么不可以,我仿真了。发现输出电压顶部失真了。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-20 17:14:29 | 显示全部楼层
简单点用二极管+电阻,单向电平匹配,可以的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-21 13:07:22 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
这又是什么道理,最近我借了我一个学弟的芯片,他也做gps模块,我用他那个我接到数据了,我用直流电压档测了一下,我的那个电压是TXD输出为2.3~3,3v,他那个居然是1.7~3.0v
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-21 14:11:22 | 显示全部楼层
回复【12楼】唯一的黄昏:
---------------------------------
你师弟的GPS模块,波特率是多少?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-22 13:49:15 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
按照那个说明书,它原来波特率为38400,自己可以拆掉一个电阻就变成9600了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-10-22 16:14:31 | 显示全部楼层
我们的模块默认是38400,你也去掉电阻了么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-10-17
在线时间
0 小时
 楼主| 发表于 2013-10-23 23:45:27 | 显示全部楼层
回复【15楼】正点原子:
---------------------------------
恩,我 把那个电阻拿掉了,照说明书应该是9600
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-4-21
在线时间
0 小时
发表于 2014-5-4 19:09:21 | 显示全部楼层
回复【5楼】唯一的黄昏:
---------------------------------
你好  你的GPS模块定位的数据单片机可以接收了吗? 能够显示出来了吗? 
我这个怎么弄就是显示不出来,始终找不到问题  想请你帮忙下!
回复 支持 反对

使用道具 举报

5

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2016-3-30
在线时间
13 小时
发表于 2016-4-8 15:14:25 | 显示全部楼层
正点原子 发表于 2013-10-17 13:58
GPS的TXD,我们串了一个510欧的电阻,你看看你单片机的RXD,有没有带其他负载?
如果没有,那我怀疑你的单 ...

原子哥  如果TXD 串了一个33欧的电阻呢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 17:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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