⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gps.c

📁 通过串口向GPS模块不停的发送设置命令
💻 C
字号:
// **************************************************************
// *** 		         广 州 天 河 双 龙 电 子 公 司 	          ***
// ***                   http://www.sl.com.cn                 ***
// ***                   实验:GPS		                      ***
// ***                  作者:zxy@sl.com.cn                   ***
// ***                       2007年4月5日                     ***
// ***         目标MCU:MEGA169    晶振:内部(INT)8MHZ         ***
// **************************************************************
//编译器GCC-AVR
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "avr.h"
#include "UART0_drv.h"


unsigned char  engga[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x00,0x00,0x01,0x00,0x00,0xFE,0x18// 使能GGA
 };
unsigned char  disgga[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0xFD,0x15// 取消GGA
};
unsigned char  engll[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x01,0x00,0x01,0x00,0x00,0xFF,0x1D// 使能GLL
};
unsigned char  disgll[]={
0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0xFE,0x1A//,0x取消GLL
};
unsigned char  engsa[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x02,0x00,0x01,0x00,0x00,0x00,0x22// 使能GSA
};
unsigned char  disgsa[]={
0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x02,0x00,0x00,0x00,0x00,0xFF,0x1F// 取消GSA
};
unsigned char  engsv[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x03,0x00,0x01,0x00,0x00,0x01,0x27//使能GSV
};
unsigned char  disgsv[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x24// 取消GSV
};
unsigned char  enrmc[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x04,0x00,0x01,0x00,0x00,0x02,0x2C// 使能RMC
};
unsigned char  disrmc[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x04,0x00,0x00,0x00,0x00,0x01,0x29// 取消RMC 
};
unsigned char  envtg[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x05,0x00,0x01,0x00,0x00,0x03,0x31// 使能VTG
};
unsigned char  disvtg[]={
0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x05,0x00,0x00,0x00,0x00,0x02,0x2E// 取消VTG
};
unsigned char  engrs[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x06,0x00,0x01,0x00,0x00,0x04,0x36/// 使能GRS /
};
unsigned char  disgrs[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x06,0x00,0x00,0x00,0x00,0x03,0x33// 取消GRS
};
unsigned char  engst[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x07,0x00,0x01,0x00,0x00,0x05,0x3B/// 使能GST /
};
unsigned char  disgst[]={
0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0x04,0x38// 取消GST
};
unsigned char  enzda[]={
0xB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x08,0x00,0x01,0x00,0x00,0x06,0x40// 使能ZDA /
};
unsigned char  diszda[]={
0XB5,0x62,0x06,0x01,0x06,0x00,0xF0,0x08,0x00,0x00,0x00,0x00,0x05,0x3D// 取消ZDA
};

void Send_Command_To_GPS( unsigned char *command )
{
  unsigned char *p,i;
  p = command;
  for (i = 0;i < 14;i ++)
       {
	    UART0_TransmitByte( *p );
		p ++;	   
	   }
   _delay_ms(100);

}

int main(void)
{
init_UART0();
sei();
while(1)
 {   
  //只保留GPRMC
  Send_Command_To_GPS(disgga);//取消GGA
  Send_Command_To_GPS(disgll);//取消GLL
  Send_Command_To_GPS(disgsa);//取消GSA
  Send_Command_To_GPS(disgsv);//取消GSV
  Send_Command_To_GPS(disvtg);//取消VTG
  Send_Command_To_GPS(diszda);//取消ZDA
 }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -