怎么样利用单片机和串口小助手检验GPS模块是否有发送数据??
请热心的高手帮帮忙具体是这样的我用的是GR-85GPS模块用的是它的电源脚与单片机的VCC相连发送脚与单片机的接收脚相连还有接地脚与单片机的接地脚相连波特率设的是4800...
请热心的高手帮帮忙 具体是这样的 我用的是GR -85 GPS模块 用的是它的电源脚 与单片机的VCC相连 发送脚与单片机的接收脚相连 还有接地脚与单片机的接地脚相连 波特率设的是4800 下面是我的程序
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar a;
sbit fa=P3^0;
void delay(uint x)
{
uint c,b;
for(c=x;c>0;c--)
for(b=115;b>0;b--);
}
void init() //初始化
{
SM0=0;
SM1=1;
REN=1;
TMOD=0x20; //定义定时器1的方式2
TH1=0xfa;
TL1=0xfa;
TR1=1;
EA=1;
ES=1;
fa=1; //把单片机接收脚置高电平
}
void main()
{
init();
while(1)
{
if(TI==1) //发送数据
{
TI=0;
SBUF=a; //单片机把接收的数据传给上位机
ES=0;
}
delay(100);
if(TI==0) // 确认已发送完即关串口中断
{
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0; //单片机接收GPS的数据
a=SBUF;
} 展开
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar a;
sbit fa=P3^0;
void delay(uint x)
{
uint c,b;
for(c=x;c>0;c--)
for(b=115;b>0;b--);
}
void init() //初始化
{
SM0=0;
SM1=1;
REN=1;
TMOD=0x20; //定义定时器1的方式2
TH1=0xfa;
TL1=0xfa;
TR1=1;
EA=1;
ES=1;
fa=1; //把单片机接收脚置高电平
}
void main()
{
init();
while(1)
{
if(TI==1) //发送数据
{
TI=0;
SBUF=a; //单片机把接收的数据传给上位机
ES=0;
}
delay(100);
if(TI==0) // 确认已发送完即关串口中断
{
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0; //单片机接收GPS的数据
a=SBUF;
} 展开
6个回答
展开全部
一楼说的不对!GPS不接收命令,GPS的RX根本就不接线,所以根本不需要单片机给GPS模块发送命令,单片机的作用就是不断接收GPS发来的数据,过滤出你需要的数据,处理,显示灯。
GPS模块只是不停地从TX脚发送串行数据。你可以从数据中挑选出你需要的数据。
我买的模块带232电路,接电脑的串口上,用串口软件就能看到接收到的数据情况。
单片机接收电路很简单,商家把程序给我了,我还没研究呢。
GPS模块只是不停地从TX脚发送串行数据。你可以从数据中挑选出你需要的数据。
我买的模块带232电路,接电脑的串口上,用串口软件就能看到接收到的数据情况。
单片机接收电路很简单,商家把程序给我了,我还没研究呢。
更多追问追答
追问
我那个模块没有232 所以使用TTL和单片机相连- - 但是电脑的串口软件没动静 先谢过各位了
追答
晕!
单片机是TTL的(0或5V的高低电平),所以不用232芯片就可以直接与模块通信;
电脑串口不是TTL的,是RS-232标准,最大驱动电压为±25V,必须加232芯片转换才能与模块通信!不加232芯片直接接在串口上,232芯片这么高的电平,很容易损坏你的GPS模块。
展开全部
一般GPS都是一上电就输出数据的,只是在定位之前输出的数据都没用。你在模块的TX引脚上加指示灯,这样该简单吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要看你的下位机也就是单片机的配置有没有校验位和几位停止位了 有的话确定几位然后根据那个来设置的 一般是1位起始位8位数据位1位停止位 无校验位 但有时就不一定了 主要看单片机哈 至于怎么用上楼也说得很清楚了
起始位始终是有的 停止位有1.5 2 1三中选择校验位好像是有5中吧就看你的单片机支持了 如果有肯定要选否则会收发错误的
起始位始终是有的 停止位有1.5 2 1三中选择校验位好像是有5中吧就看你的单片机支持了 如果有肯定要选否则会收发错误的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1下载gps调试助手 SirfDemo,gps diag等等
2准备ttl to rs232 电平转换,注意有些gps的逻辑电平是1.8v,如sim18
3 仔细阅读模块的说明书,特别是关于开启模块的引脚和,指示模块状态的引脚,指示引脚可以接二极管指示当前状态,一般需要加三极管才能推动
4模块工作后一般是输出nmea协议的格式,可以通过串口观察到,或者上面提到的工具
2准备ttl to rs232 电平转换,注意有些gps的逻辑电平是1.8v,如sim18
3 仔细阅读模块的说明书,特别是关于开启模块的引脚和,指示模块状态的引脚,指示引脚可以接二极管指示当前状态,一般需要加三极管才能推动
4模块工作后一般是输出nmea协议的格式,可以通过串口观察到,或者上面提到的工具
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该有专用命令字吧,你要发专用命令字过去,他才会返回相应的数据吧
追问
即那个模块给的资料里面的专用字?? 我自己一直认为是一上电 GPS就发数据。。。 我去查查资料 谢谢你了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询