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

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

?? initmcu.c

?? 名廠車載GPS通信終端
?? C
?? 第 1 頁 / 共 3 頁
字號:
//                      INT1 interrupt
//------------------------------------------------------------------------------
void Int1Int(void)
{
	//   OS_EXIT_CRITICAL();
	Disable_Int1();
	InitTa3(24);
	StartTa3();
	Step_Recv = 0;
}

//------------------------------------------------------------------------------
//                      init int0
//------------------------------------------------------------------------------
void InitInt0(void)
{
	ifsr0  = 0;                                    //select one edge
	int0ic = 0x2;                                 //select interupt level 2,down edge
}
//------------------------------------------------------------------------------
//                      enable int0int
//------------------------------------------------------------------------------
void Enable_Int0(void)
{
	ifsr0  = 0;                                    //select one edge
	int0ic = 0x2;                                 //select interupt level 2,down edge
}
//------------------------------------------------------------------------------
//                      disable int0int
//------------------------------------------------------------------------------
void Disable_Int0(void)
{
	int0ic = 0x0;                                 //disable the int0 interupt
}
//------------------------------------------------------------------------------
//                      INT0 interrupt
//------------------------------------------------------------------------------
void Int0Int(void)
{
    Start_Timer(Accept_Ring_Timer,1,HMSEL);
}

//------------------------------------------------------------------------------
//                      initialize watchdog
//------------------------------------------------------------------------------
void Init_Watchdog(void)
{
	wdc  |= 0x80;
	wdts  = 0x01;
}
//------------------------------------------------------------------------------
//                      clear watchdog
//------------------------------------------------------------------------------
void clr_watchdog(void)
{
	static uchar status = 0;
	static uchar watchdog_count=0;
	
	
	CLR_DOG   = status;
	if(status ==0) status = 1;else status = 0;
	//status = !status;
	wdts   = 0x01;
	if (watchdog_count>0x00)   Uart1hex(watchdog_count);
	watchdog_count=0x00;
	
}
//------------------------------------------------------------------------------
//                      watchdog interrupt
//------------------------------------------------------------------------------
void WatchdogInt(void)
{
	//   OS_EXIT_CRITICAL();
	watchdog_count +=1;
	if (watchdog_count>=0x30)
	{
		prc1 = 1;
		pm03 = 1;
		prc1 = 0;
	}
}
//------------------------------------------------------------------------------
//                      reset program
//------------------------------------------------------------------------------
void Reset_Program(void)
{
	prc1 = 1;
	pm03 = 1;
	prc1 = 0;
}
//------------------------------------------------------------------------------
//                      initialize ad
//------------------------------------------------------------------------------
void InitADC(uchar channel,uchar wei)
{
	Adc_Channel = channel;
	adcon2      = 0x00;
	adcon0      = 0x07&channel;
	if(wei==10)
		adcon1      = 0x28;              // 10 bit ad
	else
		adcon1      = 0x20;
}
//------------------------------------------------------------------------------
//                      start ad
//------------------------------------------------------------------------------
void StartADC(void)
{
	adcon0   |=0x40;
	adic     = 0x02;
	Adc_Flag = AD_START;
}
//------------------------------------------------------------------------------
//                      adc interrupt
//------------------------------------------------------------------------------
void ADCint(void)
{
	// OS_EXIT_CRITICAL();
	if(Adc_Channel==0x01)       //備用電源電壓//
	{
		//Adc_Value = (uint)ad1l;
		Adc_Value = ad1&0x3ff;
	}
	if(Adc_Channel==0x03)       //低壓//
	{
		Adc_Value = ad3&0x3ff;
	}
	adcon0   &=~0x40;
	Adc_Flag = AD_COMPELETE;
}
//------------------------------------------------------------------------------
//                      initialize uart 0 for gps
//------------------------------------------------------------------------------
void InitUart0(void)
{
	u0mr = 0x05;         // XXXX XXXX
	// |||| |||+- uart mode
	// |||| ||+-- uart mode
	// |||| |+--- uart mode
	// |||| |     100: 7 bit data
	// |||| |     101: 8 bit data
	// |||| |     110: 9 bit data
	// |||| +---- Internal/external clock select bit
	// ||||       0: Internal clock
	// ||||       1: External clock
	// |||+------ Stop bit length select bit
	// |||        0: One stop bit
	// |||        1: Two stop bit
	// ||+------- Odd/even parity select bit
	// ||         Valid when bit 6 = 1
	// ||         0: Odd parity
	// ||         1: Even parity
	// |+-------- Parity enable bit
	// |          0: Parity disabled
	// |          1: Parity enabled
	// +--------- Sleep select bit
	//            0: Sleep mode deselected
	//            1: Sleep mode selected
    // Setting UART0 transmit/receive control register 0 (UART mode)
    u0c0 = 0x38;            // 00XX XXXX
	// |||| |||+- BRG count source select bit
	// |||| ||+-- BRG count source select bit
	// |||| ||    00: f1 is selected
	// |||| ||    01: f8 is selected
	// |||| ||    10: f32 is selected
	// |||| ||    11: inhibited
	// |||| |+--- /CTS//RTS function select bit
	// |||| |     (Valid when bit 4 ='0')
	// |||| |     0: /CTS function is selected
	// |||| |     1: /RTS function is selected
	// |||| +---- Transmit register empty flag
	// ||||       0: Data present in transmit register
	// ||||          (during transmission)
	// ||||       1: No Data present in transmit register
	// ||||          (transmission completed)
	// |||+------ /CTS//RTS disable bit
	// |||        0: /CTS//RTS function enabled
	// |||        1: /CTS//RTS function disabled
	// ||+------- Data output select bit
	// ||         0: TxD0 pin is CMOS output
	// ||         1: TxD0 pin is N-channel open-drain
	// ||            output
	// |+-------- Must be fixed to '0'
	// +--------- Must be fixed to '0'
	
    // Setting UART0 transmit/receive control register 1 (UART mode)
    u0c1 = 0X0E ;//0x0f;    // ---- XXXX
	//      |||+- Transmit enable bit
	//      |||   0: Transmission disabled
	//      |||   1: Transmission enabled
	//	    ||+-- Transmit buffer empty flag
	//	    ||	0: Data present in transmit buffer register
	//	    ||	1: No data present in transmit buffer register
	//      |+--- Receive enable bit
	//      |     0: Reception disabled
	//      |     1: Reception enabled
	//      +---- Receive complete flag
	//            0: No data present in receive buffer
	//            1: Data present in receive buffer
	
    // Setting UART0 transmit/receive control register 2 (UART mode)
    ucon |= 0x00;           // -X0- ---X
	//  ||     +- UART0 transmit interrupt cause select bit
	//  ||        0: Transmit buffer empty (TI=1)
	//  ||        1: Transmission completed (TXEPT=1)
	//  |+------- Must be fixed to '0'
	//  +-------- Separate /CTS//RTS bit
	//            0: /CTS//RTS shared pin
	//            1: /CTS//RTS separate pin
	
    // Setting UART0 bit rate generator for 9600 baud (UART mode)
    u0brg = 0x40;           // REMARKS: U0BRG=(Xin/(16*clock_select*Baud))-1
	// For example:
	// Xin = 10MHz
	// clock_select = 1 (source=f1)
	// Baud = 9600 Baud rate
	//u0brg = 0x81;			// Baud = 4800 Baud rate
	
	// =>  u0brg = 64d = 0x40 (actual baud = 9615)
	s0ric = 0x03;       	// ---- XXXX
	//      ||||
	//      |||+-- Interupt priority level select bit
	//      ||+--- Interupt priority level select bit
	//      |+---- Interupt priority level select bit
	//      |      000: Level 0 (interrupt disabled)
	//      |      001: Level 1
	//      |      010: Level 2
	//      |      011: Level 3
	//      |      100: Level 4
	//      |      101: Level 5
	//      |      110: Level 6
	//      |      111: Level 7
	//      +----- Interupt request bit
	//             0: Interrupt not requested
	//             1: Interrupt requested
	s0tic	= 0x00;
}
//------------------------------------------------------------------------------
//                      uart 0 reciever interrupt
//------------------------------------------------------------------------------
void Uart0RxInt(void)
{
	WORD  wsdata;
	uchar u0rbbyte;
	
	//Send_Taskmsg(AlarmTaskid,STATUSCHANGE,NULL);
	
	//  OS_EXIT_CRITICAL();
	
	if((u0c1&0x08)==0x08)
	{
		u0c1 &= ~0x08;
		wsdata = u0rb;
		if(wsdata & 0x8000)
		{
			u0c1&=~0x04;
			u0c1|=0x04;
			return;
		}
		
		u0rbbyte = (uchar)(wsdata&0x00ff);
		if(gpsuart.bufnum>=MAX_GPS_RECV)           //避免溢出//
		{
			gpsuart.bufnum = 0;
		}
		//u1tb = u0rbbyte;
		switch(gpsuart.recvstep)
		{
		case 0:
            gpsuart.recvlen  = 0;
            if(u0rbbyte=='$')
            {
				gpsuart.recvstep ++;
            }
			break;
		case 1:
			gpsuart.recvlen  = 0;
			gpsuart.recvstep ++;
			if(u0rbbyte!='G')
				gpsuart.recvstep = 0;
			break;
		case 2:
			gpsuart.recvlen  = 0;
			gpsuart.recvstep++;
			if(u0rbbyte!='P')
				gpsuart.recvstep = 0;
			break;
		case 3:
			if(u0rbbyte!='R'&&u0rbbyte!='T'&&u0rbbyte!='G')
			{
				gpsuart.recvlen  = 0;
				gpsuart.recvstep = 0;
			}
			else
			{
				gpsuart.recvstep++;
			}
			break;
		case 4:
			if(u0rbbyte!='M'&&u0rbbyte!='X'&&u0rbbyte!='S')
			{
				gpsuart.recvlen  = 0;
				gpsuart.recvstep = 0;
			}
			else
			{
				gpsuart.recvstep++;
			} 
			break;
		case 5:
			if(u0rbbyte!='C'&&u0rbbyte!='T'&&u0rbbyte!='A')
			{
				gpsuart.recvlen  = 0;
				gpsuart.recvstep = 0;
			}
			else
			{
				gpsuart.recvstep++;
			}
			break;
		case 6:
            if(/*gpsuart.recvbuf[gpsuart.bufnum][gpsuart.recvlen-1]==0x0d&&*/u0rbbyte=='*')
            {
				//gpsuart.recvbuf[gpsuart.bufnum][gpsuart.recvlen++] = '*';//0x0a;
				gpsuart.recvbuf[gpsuart.bufnum][0]               = gpsuart.recvlen;
				Send_Taskmsg(AlarmTaskid,GPSUARTRECV,gpsuart.recvbuf[gpsuart.bufnum]);
				gpsuart.bufnum++;
				gpsuart.recvstep = 0;
				if(gpsuart.bufnum>=MAX_GPS_RECV)
					gpsuart.bufnum = 0;
            }
            else
            {
				if(gpsuart.recvlen>140)
					gpsuart.recvstep = 0;
            }
			break;
		default:
            gpsuart.recvstep = 0;
			break;
		}
		gpsuart.recvbuf[gpsuart.bufnum][gpsuart.recvlen] = u0rbbyte;
		gpsuart.recvlen++;
	}
}
//------------------------------------------------------------------------------
//                      uart 0 transimit interrupt
//------------------------------------------------------------------------------
void Uart0TxInt(void)
{
	//  OS_EXIT_CRITICAL();
	if((u0c1 & 0x02)==0x02)
	{
		u0c1 &= ~0x02;
		if(gpsuart.sendstatus==_BUSY&&gpsuart.sendlen!=0)
		{
			u0tb  = gpsuart.sendbuf[gpsuart.sendlen-1];
			//u0c1 |= 0x01;
			gpsuart.sendlen--;
			if(gpsuart.sendlen==0)
			{
				gpsuart.sendstatus==_IDLE;
			}
		}
	}
}
//------------------------------------------------------------------------------
//                      initial uart 1

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区免费乱视频| 粉嫩aⅴ一区二区三区四区五区| 精品处破学生在线二十三| 成人av第一页| 精品亚洲成av人在线观看| 亚洲免费观看高清在线观看| 日韩精品一区二区三区视频| 一本大道久久a久久综合| 黄色资源网久久资源365| 亚洲自拍偷拍网站| 国产精品美女一区二区| 欧美哺乳videos| 欧美精品在线观看播放| 91视频免费播放| 国产suv精品一区二区6| 美腿丝袜亚洲三区| 日韩精品福利网| 亚洲线精品一区二区三区| 成人欧美一区二区三区黑人麻豆| 精品少妇一区二区三区在线播放 | 69久久夜色精品国产69蝌蚪网| 91蝌蚪porny| 白白色 亚洲乱淫| 国产成人一区在线| 国产在线观看一区二区| 蜜桃视频在线观看一区| 免费在线视频一区| 日韩中文字幕不卡| 日韩激情一区二区| 视频一区二区三区中文字幕| 亚洲成av人片观看| 一区二区三区免费看视频| ...中文天堂在线一区| 国产精品欧美精品| 国产亚洲女人久久久久毛片| 欧美videos中文字幕| 日韩欧美一区二区不卡| 欧美一区二区在线播放| 欧美一区二区三区视频| 日韩精品一区二区三区视频播放| 日韩区在线观看| 欧美电影免费观看高清完整版在线| 这里只有精品99re| 欧美久久高跟鞋激| 日韩一区二区免费在线观看| 日韩一区二区影院| 久久伊人中文字幕| 中文字幕免费一区| 亚洲免费观看在线视频| 亚洲第一久久影院| 蜜桃av噜噜一区二区三区小说| 久久国产精品露脸对白| 国产精品一区二区三区乱码| eeuss影院一区二区三区| 99久久精品一区| 欧美日韩国产一区二区三区地区| 91精品婷婷国产综合久久竹菊| 日韩欧美国产精品一区| 精品福利在线导航| 国产精品无码永久免费888| 亚洲日本乱码在线观看| 综合欧美一区二区三区| 亚洲一区在线观看免费观看电影高清| 五月激情综合网| 久久99国产精品麻豆| jlzzjlzz亚洲女人18| 色成年激情久久综合| 欧美一区三区二区| 国产日韩综合av| 一区二区免费在线| 精品一区二区三区不卡| 成人中文字幕合集| 欧洲一区在线观看| 欧美精品一区二区三区在线播放 | 久久人人97超碰com| 国产精品乱码一区二区三区软件| 亚洲美女电影在线| 久久精品国产久精国产爱| 成人激情av网| 日本aⅴ精品一区二区三区 | 亚洲综合图片区| 欧美国产精品一区| 婷婷夜色潮精品综合在线| 国产成人在线电影| 久久久.com| 日韩极品在线观看| 97久久人人超碰| 欧美一级日韩免费不卡| 国产精品理伦片| 亚洲成a人v欧美综合天堂| 狠狠v欧美v日韩v亚洲ⅴ| 91一区二区在线观看| 国产日韩视频一区二区三区| 亚洲一区二区综合| 国产成人亚洲综合色影视| 欧美网站一区二区| 亚洲色图20p| 国产传媒日韩欧美成人| 欧美高清视频不卡网| 亚洲国产高清不卡| 久久精品国内一区二区三区| 欧美在线观看一二区| 久久久三级国产网站| 五月激情综合网| 欧美伊人久久大香线蕉综合69| 国产人伦精品一区二区| 丝袜亚洲另类欧美综合| 色综合久久综合网97色综合| 日韩极品在线观看| 在线免费视频一区二区| 亚洲视频 欧洲视频| 99精品国产一区二区三区不卡| 亚洲情趣在线观看| 国产精品不卡在线| 欧美一区二区三区四区高清| 国产精品丝袜在线| 婷婷开心激情综合| 欧美人伦禁忌dvd放荡欲情| 国产精品久线在线观看| 色婷婷av一区二区三区gif| 99久久久免费精品国产一区二区 | 在线精品视频小说1| 久久久久久久久伊人| 免播放器亚洲一区| 91精品国产免费| 亚洲一线二线三线视频| 99久久久国产精品免费蜜臀| 中文一区二区在线观看| 粉嫩av一区二区三区粉嫩| 久久久久久久久久美女| 久久精品国产网站| 精品久久久久香蕉网| 国内精品免费**视频| 欧美www视频| 国产乱理伦片在线观看夜一区 | 国产欧美日韩三级| 在线视频你懂得一区二区三区| 欧美激情资源网| www.亚洲精品| 国产精品毛片大码女人| 成人av电影在线| 亚洲精品乱码久久久久久久久| 在线观看免费一区| 天天射综合影视| 日韩一本二本av| 国产一区在线不卡| 久久久电影一区二区三区| 粉嫩av一区二区三区| 亚洲欧美视频在线观看视频| 欧美艳星brazzers| 日韩激情av在线| 精品日韩成人av| 国产激情一区二区三区桃花岛亚洲| 国产三级精品三级在线专区| 国产宾馆实践打屁股91| 亚洲精选视频在线| 欧美电影在哪看比较好| 久久国产婷婷国产香蕉| 亚洲国产精品成人综合| 欧美影视一区在线| 久久福利资源站| 国产精品麻豆视频| 欧美日韩中文字幕一区| 久久国产乱子精品免费女| 久久久久国产一区二区三区四区| 国产999精品久久久久久绿帽| 亚洲美女免费视频| 精品理论电影在线观看 | 日韩高清一区二区| 久久天堂av综合合色蜜桃网| av亚洲精华国产精华精华| 亚洲第一在线综合网站| 久久女同性恋中文字幕| 日本久久电影网| 激情五月婷婷综合网| 亚洲欧美日韩国产综合在线| 日韩视频一区二区| 99国产精品久久| 精品一区二区三区久久| 亚洲免费av网站| 欧美va亚洲va在线观看蝴蝶网| 91免费版在线| 精品综合久久久久久8888| 亚洲免费电影在线| 久久精品一区二区| 这里只有精品电影| 一本色道**综合亚洲精品蜜桃冫 | 91久久精品国产91性色tv| 麻豆精品蜜桃视频网站| 亚洲免费观看高清完整版在线| 欧美电视剧在线看免费| 在线视频国内自拍亚洲视频| 国产成a人亚洲| 日本中文字幕一区| 亚洲欧美激情视频在线观看一区二区三区 | 精品一区二区三区在线视频| 亚洲人成伊人成综合网小说| 久久伊人蜜桃av一区二区| 欧美日精品一区视频| 91在线小视频|