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

📄 gps.c

📁 我个人编写的车载dvd上的程序
💻 C
字号:
#include "public.h"
void UART_init()
{
      USART_BRR1  = USART_BAUD1;
      USART_BRR2  = USART_BAUD2;
//      USART_CR5 |= 0x08;
      USART_CR2  =  USART_CR2_TIEN |USART_CR2_TCIEN|USART_CR2_RIEN|USART_CR2_REN|USART_CR2_TEN;
}
void GPS_init()
{
      PD_GPOWER = 1;
      PCR1_GPOWER = 1;
      PCR2_GPOWER = 0;
      PIN_GPOWER  = 0;

      PD_GRESET = 1;
      PCR1_GRESET = 1;
      PCR2_GRESET = 0;
      PIN_GRESET = 0;

      PD_GSLEEP = 1;
      PCR1_GSLEEP = 1;
      PCR2_GSLEEP = 0;
      PIN_GSLEEP = 0;
      ucGpsCommandStatus = GPS_COMMAND_IDLE;
      GpsDelays  = 0;
     
}
#if 1
void UARTTxInt()
{

      USART_CR2 &= ~USART_CR2_TIEN;    
      USART_CR2 &= ~USART_CR2_TCIEN;
}
#endif
void UARTRxInt()
{

      ucGpsUartCommand  = USART_DR;
    
}

 void UARTTransfer(unsigned char *data)
 {
 	    while(*data)
 	    	{
 	    	while((USART_SR & 0x80)== 0);//data don't send over,so wait for a moment .add it by jzq  2009-1-1
 	       USART_DR = *data;
 	       USART_CR2 |= USART_CR2_TIEN|USART_CR2_TCIEN;
 	       data ++;
 	    	}
#ifdef DEBUG
             while((USART_SR & 0x80) == 0);
             USART_DR = 0x0d;
             USART_CR2 |= USART_CR2_TIEN|USART_CR2_TCIEN;
             while((USART_SR & 0x80) == 0);
             USART_DR = 0x0a;
             USART_CR2 |= USART_CR2_TIEN|USART_CR2_TCIEN;
#endif 
 	              
 }
 #ifdef DEBUG
 void debug(unsigned char *data)
 {
 	    while(*data)
 	    	{
 	    	while((USART_SR & 0x80)== 0);//data don't send over,so wait for a moment .add it by jzq  2009-1-1
 	       USART_DR = *data;
 	       USART_CR2 |= USART_CR2_TIEN|USART_CR2_TCIEN;
 	       data ++;
 	    	}
#ifdef DEBUG
             while((USART_SR & 0x80) == 0);
             USART_DR = 0x0d;
             USART_CR2 |= USART_CR2_TIEN|USART_CR2_TCIEN;
             while((USART_SR & 0x80) == 0);
             USART_DR = 0x0a;
             USART_CR2 |= USART_CR2_TIEN|USART_CR2_TCIEN;
#endif 
 	              
 }
void debug_val(unsigned char *promter,unsigned  int data)
 {
 	  unsigned char i;
 	   unsigned char val[5];
 	  unsigned char hi,low;
 	  unsigned char s,h,t,b,d;
 	  s  = data/10000;
 	  h  = (data - s*10000)/1000;
 	  t  = (data %1000)/100;
 	  b = (data %100)/10;
 	  d = (data %10);
 	  val[0] = '0'+s;
 	  val[1] ='0' + h;
 	  val[2] = '0' + t;
 	  val[3] = '0'+ b;
 	  val[4] = '0' + d;
 	   while(*promter)
 	    	{
 	    	while((USART_SR & 0x80)== 0);//data don't send over,so wait for a moment .add it by jzq  2009-1-1
 	       USART_DR = *promter;
 	       USART_CR2 |= USART_CR2_TIEN|USART_CR2_TCIEN;
 	       promter ++;
 	    	}
 	  debug(val);        
 }
 #endif

 void USARTReceiver()
 	{
 	     //  UARTTransfer(&ucGpsUartCommand);
 	}

void GPSMain()
{
 // if(System.FWorkMode.Current == WORKMODE_GPS)
  	  
}
void GPSTimer100ms()
{
      if(GpsDelays > 0) GpsDelays --;
}

⌨️ 快捷键说明

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