亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gps.c

?? gps code include 頭文件和源程序
?? C
字號:
/**************************************************************************************
* GPS.c
*-------------------------------------------------------------------------------------------------
* Function: Test GPS module UART connection 
*---------------------------------------------------------------
* Author: 
*---------------------------------------------------------------
* revision 0.0		init code,move from Flying Pig plantform  Jason	2007/8/10    
*				Fix display bugs					    Jason 2007/8/13
*
*/
#include <string.h>
#include <stdlib.h>
#include "2442addr.h"
#include "2442lib.h"
#include "def.h"
#include "gps.h"
#include "AS3604_power.h"

#include <stdarg.h>
#include <stdio.h>
#include <ctype.h>

extern U32 Fclk, Pclk;

#define MTX_INTTYPE 1	//0:Tx interrupt type is pulse, 1:Tx interrupt type is level
#define MRX_INTTYPE 1	//0:Rx interrupt type is pulse, 1:Rx interrupt type is level

static U32 isRx1Int, isRx2Int;
static U32 rx_cnt=0;
static U32 rx_end=0;

static char Rx1_temp[512];
static int Rx1_temp_count = 0;

char Rx2_temp[512];
int Rx2_temp_count = 0;


void __irq GUart2_RxOrErr(void);
void __sub_GUart2_Rx(void);
void __sub_GUart2_RxErrInt(void);

void __irq GUart1_RxIntOrErr(void);
void __sub_GUart1_RxInt(void);
void __sub_GUart1_RxErrInt(void);

void __irq GUart2_RxOrErr(void)
{

    rINTSUBMSK|=(BIT_SUB_RXD2|BIT_SUB_TXD2|BIT_SUB_ERR2);
    if(rSUBSRCPND&BIT_SUB_RXD2) __sub_GUart2_Rx();
    else __sub_GUart2_Rx();
    ClearPending(BIT_UART2);
    rSUBSRCPND=(BIT_SUB_RXD2|BIT_SUB_ERR2);	// Clear Sub int pending    
    rINTSUBMSK&=~(BIT_SUB_RXD2|BIT_SUB_ERR2);  
    
/*    
//    Rx1_temp[0]=0;
//    Rx1_temp[1]=0;
    rINTSUBMSK|=(BIT_SUB_RXD2|BIT_SUB_TXD2|BIT_SUB_ERR2);
    if(rSUBSRCPND&BIT_SUB_RXD2) __sub_GUart2_Rx();    
//    else __sub_GUart2_RxErrInt();//cut by Jason for testing 070813

    ClearPending(BIT_UART2);
    rSUBSRCPND=(BIT_SUB_RXD2|BIT_SUB_TXD2|BIT_SUB_ERR2);
    rINTSUBMSK&=~(BIT_SUB_RXD2|BIT_SUB_TXD2|BIT_SUB_ERR2);
*/
}

void __sub_GUart2_Rx(void)
{
	U8 temp8;
	while(rUFSTAT2 & 0x7f )
	{
//		Delay(1000);//no delay is needed here

		Uart_Printf("%c",rURXH2);
		//Uart_Printf(".");
   	}
   	//isRx2Int=0;
    //	rINTMSK|=BIT_UART2;
}

void __sub_GUart2_RxErrInt(void)
{
	U32 iStatus;

	iStatus = rUERSTAT2;

	Uart_Select(2);
	Uart_Printf("Uart2 Rx error!\n");

    switch(iStatus)//to clear and check the status of register bits
    {
	case 1:
	    Uart_Printf("Overrun error!\n");
	    break;
	case 2:
	    Uart_Printf("Parity error!\n");
	    break;
	case 4:
	    Uart_Printf("Frame error!\n");
	    break;
	case 6:
	    Uart_Printf("Parity, Frame error!\n");
	    break;
	case 8:
		Uart_Printf("Breake detect\n");
		break;
	case 0xa:
		Uart_Printf("Parity error & Break detect!\n");
		break;
	case 0xc:
		Uart_Printf("Frame error & Breake detect\n");
		break;
	case 0xe:
		Uart_Printf("Parity, Frame error & Break detect!\n");
		break;
	default :
		Uart_Printf("Unknown error : 0x%x\n", iStatus);
	    break;
    }
	
   	isRx2Int=0;
}

void __irq GUart1_RxIntOrErr(void)
{
    rINTSUBMSK|=(BIT_SUB_RXD1|BIT_SUB_TXD1|BIT_SUB_ERR1);
    if(rSUBSRCPND&BIT_SUB_RXD1) __sub_GUart1_RxInt();
    else __sub_GUart1_RxErrInt();

    ClearPending(BIT_UART1);
    rSUBSRCPND=(BIT_SUB_RXD1|BIT_SUB_ERR1);	// Clear Sub int pending    
    rINTSUBMSK&=~(BIT_SUB_RXD1|BIT_SUB_ERR1);   
}

void __sub_GUart1_RxInt(void)
{
    int i;

    if(RdURXH1()!='\r') 
    {
       while(!(rUTRSTAT2 & 0x2));
       Delay(10);                 //because the slow response of hyper_terminal 
       rUTXH2 = RdURXH1();

	//for Uart1 Echo
    	//Uart_TxEmpty(1); //wait until tx buffer is empty.
       rUTXH1 = RdURXH1();
		
       Rx1_temp[Rx1_temp_count] = (char)RdURXH1();
       Rx1_temp_count++;
    }
    else
    {
    	isRx1Int=0;
       while(!(rUTRSTAT2 & 0x2));
       Delay(10);                 //because the slow response of hyper_terminal 
       rUTXH2 = '\r';

	//for Uart1 Echo
    	//Uart_TxEmpty(1); //wait until tx buffer is empty.
       rUTXH1 = '\r';
    }
}

void __sub_GUart1_RxErrInt(void)
{
    Uart_Select(1);
    Uart_Printf("Uart1 Rx error!\n");
	
    switch(rUERSTAT1)//to clear and check the status of register bits
    {
	case 1:
	    Uart_Printf("Overrun error\n");
	    break;
	case 2:
	    Uart_Printf("Parity error\n");
	    break;
	case 4:
	    Uart_Printf("Frame error\n");
	    break;
	case 8:
	    Uart_Printf("Breake detect\n");
	    break;
	default :
	    break;
    }
   	isRx1Int=0;
}



void GPS_Test(void)
{
	int i;
	long counter;

	Uart_Printf("\nThis is the test for GPS...\n");
	Uart_Printf("\nPlease type anykey then type enter.\n\n");

	rGPHCON = rGPHCON&~(0xf<<12) | (0x8a<<8);//port function set - UART2,UART1/0 set input 

	rCLKCON |= (1<<12);	//uart2 PCLK enable

	rUCON2 &= ~(3<<10);	// Select PCLK
	rUCON2 &= ~(3<<2);
	rUCON2 |= (1<<2);	
	rUBRDIV2=( (int)(66666666/16./115200+0.5) -1 );	//Baud rate divisior register
										//Glonva GPS chip Baud rate is 115200
	//--------------------------------------------------------------------------
	// Add P8 power manage GPS part
	//-------------------------------------------------------------------------
#if 1// for GPS power on test 


  ////power off first 

    LDO_17_GPS_IO_RFD_POC_OFF();//power off 2.5V
   	
	Delay(10);
	LDO_5_GPS_ANT_OFF();//power off 2.85v
	Delay(10);

	LDO_18_GPS_RFA_RFL_OFF();//power off 1.8
	Delay(10);

	LDO_15_GPS_Core_OFF();//power off 1.2 core
    	Delay(10);

////end 
    
    LDO_17_GPS_IO_RFD_POC_ON();//power on 2.5V
   	
	Delay(10);
	LDO_5_GPS_ANT_ON();//power on 2.85v
	Delay(10);

	LDO_18_GPS_RFA_RFL_ON();//power on 1.8
	Delay(10);

	LDO_15_GPS_Core_ON();//power on 1.2 core
    	Delay(10);

	Uart_Printf(" \n\n Done GPS Power supply\n\n");
	Uart_TxEmpty(1);
	Uart_Select(1);
	
	// gps reset : ows
	//Uart_Printf(" \n\n gpccon = %08x\n\n",rGPCCON);
	//rGPCCON &= ~(0x3<<0)|(0x1);
	//Uart_Printf(" \n\n gpccon = %08x\n\n",rGPCCON);
	
	rGPCDAT &= ~(0x1<<0);
	Delay(5000);
	rGPCDAT |= (0x1<<0);
		
#endif


//	pISR_UART1 = (unsigned)GUart1_RxIntOrErr;
	pISR_UART2=(unsigned)GUart2_RxOrErr;

    rULCON2=(0<<6)|(0<<3)|(0<<2)|(3);	// No(rmal,No parity,One stop bit, 8bit
    rUCON2 |= (1<<9)|(1<<8)|(1<<7)|(1<<6)|(0<<5)|(0<<4)|(1<<2)|(1);
    //Clock,Tx:Def,Rx:Def,Rx timeout:o,Rx error int:o,Loop-back:x,Send break:x,Tx:int,Rx:int
    rUFCON2=(3<<6)|(3<<4)|(1<<2)|(1<<1)|(1);
    //Tx and Rx FIFO Trigger Level:4byte,Tx and Rx FIFO Reset,FIFO on

    // Clear Int Pending and Unmask 
    ClearPending(BIT_UART2);

	rINTMSK |= (BIT_UART0|BIT_UART1);
	rINTSUBMSK|=(BIT_SUB_RXD0|BIT_SUB_TXD0|BIT_SUB_ERR0);

    rINTMSK&=~(BIT_UART2);
    rSUBSRCPND&=~(BIT_SUB_RXD2|BIT_SUB_TXD2|BIT_SUB_ERR2);
    rINTSUBMSK&=~(BIT_SUB_RXD2|BIT_SUB_ERR2);
	
	//Uart_TxEmpty(1);
	  //	Uart_TxEmpty(2);
    while(!Uart_GetKey());


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美影片第一页| 欧美成人在线直播| 久久久精品人体av艺术| 国产一区二区三区四区在线观看| 久久久久久亚洲综合影院红桃| 欧美久久久久久久久久| 狠狠色狠狠色综合| 国产精品初高中害羞小美女文| av动漫一区二区| 亚洲免费三区一区二区| 欧美日韩精品专区| 午夜精品视频一区| 国产亲近乱来精品视频| 欧美探花视频资源| 91精品国产欧美一区二区18| 成人精品国产一区二区4080| 三级不卡在线观看| 国产精品久久久久久妇女6080| 中文字幕一区日韩精品欧美| 国产综合色视频| 成人午夜av电影| 青椒成人免费视频| 一区二区三区加勒比av| 久久久噜噜噜久久中文字幕色伊伊| 久久精品亚洲乱码伦伦中文| 欧美老女人在线| 精品国产乱码久久久久久久久 | 亚洲一二三四久久| 欧美性猛交xxxx乱大交退制版| 欧美乱妇15p| 国产香蕉久久精品综合网| 1000精品久久久久久久久| 丝袜国产日韩另类美女| 国产一区 二区 三区一级| 91麻豆国产香蕉久久精品| 国产美女av一区二区三区| 成人免费视频网站在线观看| 在线观看视频一区| 一本一道综合狠狠老| 国产传媒欧美日韩成人| 久久99精品久久久久久国产越南| 婷婷六月综合网| 成人精品视频.| 精品久久久久久久久久久久包黑料| 欧美国产禁国产网站cc| 国产色一区二区| 亚洲chinese男男1069| 亚洲成人1区2区| 99精品黄色片免费大全| 91免费在线视频观看| 欧美一区二区观看视频| 亚洲男人的天堂在线观看| 乱中年女人伦av一区二区| 久久精品国产一区二区| 在线观看视频91| 国产精品乱人伦中文| 亚洲欧美国产三级| 国内精品伊人久久久久av一坑| 欧美自拍偷拍一区| 亚洲欧美一区二区三区极速播放 | 婷婷成人综合网| www.亚洲色图| 欧美国产成人精品| 国产一区二区在线视频| 日韩免费观看2025年上映的电影| 欧美精品一区二区久久久| 天天射综合影视| 欧美四级电影在线观看| 一区二区三区欧美久久| 色婷婷综合久久久中文字幕| 中文字幕制服丝袜一区二区三区| 国产河南妇女毛片精品久久久 | 成人性生交大片免费看中文| 2欧美一区二区三区在线观看视频| wwww国产精品欧美| 蜜臀a∨国产成人精品| 成人中文字幕合集| 国产欧美日韩在线| 成人丝袜18视频在线观看| 亚洲精品一区二区三区精华液| 日本中文字幕一区二区有限公司| 黄页视频在线91| 久久久久久久网| 国产精品一级黄| 色系网站成人免费| 亚洲精品美腿丝袜| 另类专区欧美蜜桃臀第一页| 精品国产乱码91久久久久久网站| 精品一区二区三区久久久| www国产成人| 91网页版在线| 亚洲综合成人网| 日韩一级大片在线| 亚洲一区在线视频观看| 在线电影国产精品| 激情五月激情综合网| 国产精品免费视频观看| 91久久精品网| 国产精品国产精品国产专区不蜜| 99热精品一区二区| 亚洲超丰满肉感bbw| 日韩免费电影一区| 成人av电影观看| 亚洲电影你懂得| 精品成人免费观看| 色综合久久天天| 视频在线在亚洲| www久久精品| 色欧美日韩亚洲| 国内一区二区视频| 亚洲色图丝袜美腿| av资源网一区| 日韩电影免费一区| 国产精品无码永久免费888| 欧美猛男gaygay网站| 韩国女主播成人在线| 亚洲综合一二三区| 久久久久久久国产精品影院| 色吧成人激情小说| 国产一区二区三区在线观看免费视频| 亚洲精品少妇30p| 久久久不卡网国产精品二区| 在线观看亚洲a| 99re成人在线| 国产中文字幕一区| 日韩激情一二三区| 亚洲欧美日本韩国| 国产亚洲一区二区三区在线观看| 欧美三级视频在线播放| 日韩制服丝袜av| 亚洲欧美另类久久久精品2019| 精品少妇一区二区三区| 欧美日韩成人一区二区| 91猫先生在线| eeuss鲁片一区二区三区在线看| 久久国产婷婷国产香蕉| 亚洲福利视频导航| 日韩美女精品在线| 国产精品久久久久久久午夜片| 欧美刺激午夜性久久久久久久| 欧美色图激情小说| 欧美主播一区二区三区美女| 成人高清视频免费观看| 国产成人亚洲综合色影视| 美日韩黄色大片| 青青青伊人色综合久久| 视频一区二区三区在线| 五月综合激情婷婷六月色窝| 亚洲制服丝袜av| 亚洲与欧洲av电影| 亚洲在线视频免费观看| 亚洲精品高清在线| 亚洲你懂的在线视频| 亚洲女同女同女同女同女同69| 中文字幕制服丝袜成人av| 中文字幕乱码一区二区免费| 国产精品网站在线| 亚洲国产精品精华液2区45| 精品国产乱码久久久久久牛牛 | 中文字幕制服丝袜成人av| 中文字幕一区二区三区四区不卡| 国产精品午夜在线观看| 国产精品护士白丝一区av| 亚洲区小说区图片区qvod| 亚洲综合激情另类小说区| 亚洲制服丝袜av| 久久精品噜噜噜成人av农村| 久久成人精品无人区| 国产成人免费av在线| 99久久99精品久久久久久| 色哟哟日韩精品| 欧美日韩一区小说| 日韩精品中文字幕在线不卡尤物| 欧美tk丨vk视频| 欧美国产综合一区二区| 亚洲欧洲在线观看av| 亚洲国产成人高清精品| 经典三级视频一区| av电影在线观看一区| 欧美视频日韩视频在线观看| 日韩一区二区视频在线观看| 亚洲国产精品二十页| 亚洲一区二区三区中文字幕在线| 水蜜桃久久夜色精品一区的特点 | 97se亚洲国产综合自在线不卡| 91福利区一区二区三区| 日韩午夜在线影院| 国产日产精品一区| 亚洲一区自拍偷拍| 国产一区二区毛片| 91黄色免费网站| 久久蜜桃av一区精品变态类天堂| 综合久久国产九一剧情麻豆| 麻豆中文一区二区| 99re亚洲国产精品| 欧美一区二区三区免费在线看| 国产精品久久久久影院| 狂野欧美性猛交blacked| 日本电影欧美片| 日本一区二区三区四区在线视频|