|
小弟现在正在做一个GPS导航的项目,用的是GR-89的模块。自己先在PC机上写了一个接受程序,发现能正常接受GPS发过来的信息。四条语句都能就收到(GLL语句出厂默认被关闭)。现在想写一个控制程序,通过写控制报文来对GPS的工作模式进行控制。可是不管怎么写命令就是没反应。
比如我想设置模块串口的工作方式是 波特率:9600 NMEA协议 数据位:8位 无奇偶校验 一位停止位。那么报文应该是$PSRF100,1,9600,8,1,0*\r\n
可是不管我怎么写模块就是没反应,还是出厂预设的4800。。。。。。不管怎么改就是没反应。我是用C写的发送和接受程序。接受用的是ReadFile(hPort,msg,n_msg,&n_in,NULL);发送程序也就是发命令程序用的是WriteFile(hPort,ord,n_msg,&n_out,NULL);不知道是程序问题还是命令格式不对。自我感觉程序没错,因为我用那个程序能向我的51单片机开发板里写信息。而且我用串行调试助手向GPS模块里面写命令也不行。问题到底出哪了,程序不对、命令字格式不对还是协议不对????? 还有我想问的就是GPS输出数据用的是NMEA 0831协议那么输入也就是向里面写数据用的是什么协议啊还是NMEA协议么,那个Sirf二位元编码是什么东西。 注:我向模块写命令字的方法就是把上面的报文作为一段字符串通过RS232接口直接写进去的。是不是不能这样写啊。如果不能得话那又要怎么写才行,那位高手速度解惑一下啊,小弟不甚感激。问题急待解决,在线等。。。。。。。。。。。。。。
|
|