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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? initmcu.c

?? 名廠車載GPS通信終端
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
//------------------------------------------------------------------------------
void InitUart1(void)
{
    // Setting UART1 transmit/receive mode register (UART mode)
    u1mr = 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 UART1 transmit/receive control register 0 (UART mode)
    u1c0 = 0x18;            // 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 UART1 transmit/receive control register 1 (UART mode)
    u1c1 = 0x0f;            // ---- X1X1
	//      |||+- 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 UART1 transmit/receive control register 2 (UART mode)
    ucon |= 0x00;           // -X0- --XX
	//	||    |+- UART0 transmit interrupt cause select bit
	//  ||    +-  UART1 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 UART1 bit rate generator for 9600 baud (UART mode)
    //u1brg = 0x40;           // REMARKS: U1BRG=(Xin/(16*clock_select*Baud))-1
	// For example:
	// Xin = 10MHz
	// clock_select = 1 (source=f1)
	// Baud = 9600 Baud rate
	// =>  u1brg = 64d = 0x40 (actual baud = 9615)
	u1brg=  0x0A;             //57600
	s1ric = 0x04;
	s1tic = 0x04;
	
	handuart.head  = 0;
	handuart.tail  = 0;
}
//------------------------------------------------------------------------------
//                      uart 1 tx interrupt
//------------------------------------------------------------------------------
void Uart1TxInt(void)
{
	//  OS_EXIT_CRITICAL();
	if((u1c1 & 0x02)==0x02)
	{
		u1c1 &= ~0x02;
		if(handuart.sendhead!=handuart.sendtail)
		{
			u1tb  = handuart.sendbuf[handuart.sendhead];
			//u1c1 |= 0x01;
			handuart.sendhead++;
			if(handuart.sendhead>=MAXHANDSENDBUFFER)handuart.sendhead = 0;
		}
		else
		{
			handuart.sendstatus = _IDLE;
		}
	}
}
//------------------------------------------------------------------------------
//                      uart 1 rx interrupt
//------------------------------------------------------------------------------
void Uart1RxInt(void)
{
	WORD  wsdata;
	uchar u1rbbyte;
	static uchar prebyte = 0;
	
	//  OS_EXIT_CRITICAL();
	if((u1c1 & 0x08)==0x08)
	{
		u1c1  &= ~0x08;
		wsdata = u1rb;
		if(wsdata&0x8000)
		{
			u1c1 &= (~0x04);
			u1c1 |= 0x04;
			return;
		}
		u1rbbyte = (uchar)(wsdata&0x00ff);
		
		if(prebyte==0x0d&&u1rbbyte ==0x0a)
		{
			uart1count = 0;
			Send_Taskmsg(HandsetTaskid,HANDUARTRECV,NULL);
		}
		if(uart1count>180)
		{
			uart1count = 0;
			Send_Taskmsg(HandsetTaskid,HANDUARTRECV,NULL);
			//handuart.head  = 0;
			//handuart.tail  = 0;
		}
		handuart.recvbuf[handuart.tail] = u1rbbyte;
		//u1tb                            = u1rbbyte;
		prebyte                         = u1rbbyte;
		handuart.tail++;
		uart1count++;
		if(handuart.tail>=MAXHANDRECVBUFFER)handuart.tail=0;
	}
}
//------------------------------------------------------------------------------
//                                 initialize uart 2
//------------------------------------------------------------------------------
void InitUart2(void)
{
    // Setting UART2 transmit/receive mode register (UART mode)
    u2mr = 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
	// +--------- TxD, RxD I/O polarity reverse bit
	//            0: No reverse
	//            1: Reverse
	
    // Setting UART2 transmit/receive control register 0 (UART mode)
    u2c0 = 0x18;            // 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
	// ||+------- Nothing is assigned.
	// |+-------- Must be fixed to '0'
	// +--------- Transfer format select bit
	//				0 : LSB first
	//				1 : MSB first
	
    // Setting UART2 transmit/receive control register 1 (UART mode)
    u2c1 = 0x0f;            // XXXXX1X1
	// ||||||||+- 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
	// |||+------ UART2 transmit interrupt cause select bit
	// ||| 		  0 : Transmit buffer empty(TI = 1)
	// |||        1 : Transmit is completed(TXEPT = 1)
	// ||+------- UART2 continuous receive mode enable bit,Must always be "0"
	// |+-------- Data logic select bit
	// |		  0 : No reverse
	// |		  1 : Reverse
	// +--------- Error signal output enable bit
	//			  0 : Output disabled
	//			  1 : Output enabled
	u2smr=0;				//UART2 special mode register
    // Setting UART2 bit rate generator for 9600 baud (UART mode)
	//u2brg = 0x40;           // REMARKS: U1BRG=(Xin/(16*clock_select*Baud))-1
	// For example:
	// Xin = 10MHz
	// clock_select = 1 (source=f1)
	// Baud = 9600 Baud rate
	// =>  u2brg = 64d = 0x40 (actual baud = 9615)
	u2brg = 0x0a;			//57600, clock_select = 1 (source=f1)
	s2ric = 0x06;
	s2tic = 0x05;
	gsmuart.sendhead   = 0;
	gsmuart.sendtail   = 0;
	gsmuart.sendstatus = _IDLE;
	gsmuart.head       = 0;
	gsmuart.tail       = 0;
}
//------------------------------------------------------------------------------
//                      uart 2 recieve interrupt
//------------------------------------------------------------------------------
void Uart2RxInt(void)
{
	uint  wsdata;
	uint u2rbbyte;
	static uchar prebyte = 0;
	
	// OS_EXIT_CRITICAL();
	if((u2c1 & 0x08)==0x08)
	{
		u2c1 &= ~0x08;
		wsdata = u2rb;
		if(wsdata & 0x8000)
		{
			u2c1&=~0x04;
			u2c1|=0x04;
			return;
		}
		u2rbbyte = (uchar)(wsdata&0x00ff);
#ifdef DEBUG_AT
		//u1tb   = u2rbbyte;
#endif
		if((prebyte==0x0d&&u2rbbyte==0x0a)||(u2rbbyte=='>')||(gsmstatus.gprsdata==TRUE&&u2rbbyte==0x03))
		{
			uart2count = 0;
			Send_Taskmsg(GprsTaskid,GSMUARTRECV,NULL);
		}
		if(uart2count>600)
		{
			Send_Taskmsg(GprsTaskid,GSMUARTRECV,NULL);
			uart2count = 0;
		}
		gsmuart.recvbuf[gsmuart.tail] = u2rbbyte;
		prebyte                       = u2rbbyte;
		gsmuart.tail++;
		uart2count++;
		if(gsmuart.tail>=MAXGSMRECVBUFFER)gsmuart.tail=0;
	}
}
//------------------------------------------------------------------------------
//                      uart 2 send interrupt
//------------------------------------------------------------------------------
void Uart2TxInt(void)
{
	// OS_EXIT_CRITICAL();
	
	if((u2c1 & 0x02)==0x02)
	{
		u2c1 &= ~0x02;
		if(gsmuart.sendhead!=gsmuart.sendtail)
		{
#ifdef DEBUG_AT
			//u1tb  = gsmuart.sendbuf[gsmuart.sendhead];
#endif
			u2tb  = gsmuart.sendbuf[gsmuart.sendhead];
			//u2c1 |= 0x01;
			gsmuart.sendhead++;
			if(gsmuart.sendhead>=MAXGSMSENDBUFFER){gsmuart.sendhead = 0;}
		}
		else
		{
			gsmuart.sendstatus = _IDLE;
		}
	}
}
//------------------------------------------------------------------------------
//                      initialize mcu
//------------------------------------------------------------------------------
void InitMcu(void)
{
	OS_ENTER_CRITICAL();         //disable interupt
	//	prc1=1;
	//	pm02=0;		//R/W mode select bit
	//	pm13=0;
	//	prc1=0;
	cs0=1;		//expand memory opened
	cs0w=0;		//Wait state inserted 0:Wait state inserted 1:no wait state
	cs1=1;
	cs1w=0;
	cs2=1;
	cs2w=0;
	cs3=1;
	cs3w=0;     //by lrx
	
	
	InitIO();
	
	Init_Watchdog();
	
	InitTa0();
	StartTa0();
	
	InitTa1();
	StartTa1();
	
	InitTa2(12);
	StartTa2();
	
	InitTa3(24);
	
	InitInt0();  //added by leon 050929
	
	InitInt1();
	
	InitUart0();
	InitUart1();
	InitUart2();
	OS_EXIT_CRITICAL();          //enable  interupt
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲综合色一区二区三区| 国产精品萝li| 国内一区二区视频| 欧美丰满嫩嫩电影| 亚洲自拍偷拍网站| 日韩欧美中文字幕精品| 国产高清在线观看免费不卡| 国产精品免费看片| 在线不卡一区二区| 国产在线不卡一区| 亚洲一区二区在线观看视频| 日韩美女天天操| 色婷婷综合久久久中文字幕| 亚洲国产精品久久艾草纯爱| 制服视频三区第一页精品| 国产露脸91国语对白| 亚洲影院久久精品| 一区在线中文字幕| 欧美电影免费观看高清完整版在| 91在线精品一区二区三区| 天堂成人国产精品一区| 一区二区三区影院| 中文字幕日本乱码精品影院| 日韩精品一区二区三区视频播放 | 婷婷综合久久一区二区三区| 欧美一区二区三区系列电影| jlzzjlzz亚洲女人18| 久久黄色级2电影| 日本不卡中文字幕| 亚洲成人一二三| 亚洲地区一二三色| 亚洲一区二区视频| 亚洲精品日韩综合观看成人91| 欧美激情一区在线观看| 久久一夜天堂av一区二区三区| 这里是久久伊人| 日韩女优视频免费观看| 欧美成人伊人久久综合网| 91精品国产综合久久久久久漫画| 欧美精品三级日韩久久| 7777精品伊人久久久大香线蕉的| 国产成人自拍网| 国产高清在线精品| 日韩欧美在线综合网| 欧美日韩久久久| 日韩一区二区免费视频| 欧美精品xxxxbbbb| 26uuuu精品一区二区| √…a在线天堂一区| 亚洲成在人线在线播放| 五月天欧美精品| 粉嫩av一区二区三区| 91蝌蚪porny九色| 日韩一级欧美一级| 中文字幕视频一区二区三区久| 亚洲一区免费在线观看| 免费成人av资源网| 日本丶国产丶欧美色综合| 日韩欧美你懂的| 亚洲综合色噜噜狠狠| 国产精品一区二区你懂的| 欧美伊人久久大香线蕉综合69| 日韩视频一区二区三区 | 日韩视频国产视频| 国产欧美一区二区精品性色| 亚洲一二三区视频在线观看| 成人黄色片在线观看| 国产视频亚洲色图| 久久精品国产网站| 欧美一区二区三区视频免费播放| 国产精品传媒入口麻豆| 国产精品888| 久久蜜桃av一区精品变态类天堂 | 国产精品久久久久久久蜜臀| 激情综合色播五月| 久久久另类综合| 激情综合色丁香一区二区| 欧美一区二区三区四区高清| 午夜精品久久久久久久久久| 91精品福利视频| 亚洲一区二区三区四区的| 欧美三级视频在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 国内不卡的二区三区中文字幕 | 精品国免费一区二区三区| 久久99国产精品久久99果冻传媒| 日韩欧美在线不卡| 麻豆精品一区二区综合av| 欧美国产精品中文字幕| 一本久久a久久精品亚洲| 日韩精品欧美成人高清一区二区| 日韩免费看的电影| 北条麻妃一区二区三区| 午夜精品福利一区二区三区av | 成人国产亚洲欧美成人综合网| 亚洲欧美日韩国产另类专区 | 欧美制服丝袜第一页| 免费的成人av| 香蕉久久一区二区不卡无毒影院| 日韩欧美国产一区二区三区| 国产999精品久久| 青草国产精品久久久久久| 亚洲人成网站在线| 久久综合久久综合九色| 欧美性一二三区| 9人人澡人人爽人人精品| 激情深爱一区二区| 亚洲成人精品影院| 亚洲免费观看高清完整版在线| 精品盗摄一区二区三区| 欧美色综合影院| 欧美日韩久久久| 欧美性大战久久久久久久| 色系网站成人免费| 91网站黄www| 99久久精品国产观看| 97精品久久久久中文字幕| 久久精品国产精品亚洲精品| 国产欧美日韩亚州综合| 中文子幕无线码一区tr| 这里只有精品99re| 在线播放/欧美激情| 日韩欧美另类在线| 久久日韩精品一区二区五区| 精品成人在线观看| 亚洲国产高清在线观看视频| 91精品国产综合久久久蜜臀图片| 91麻豆精品国产| 久久久91精品国产一区二区精品| 久久久久久**毛片大全| 国产精品视频yy9299一区| 亚洲三级在线播放| 石原莉奈在线亚洲三区| 国产九九视频一区二区三区| 国产成人无遮挡在线视频| 在线观看一区二区视频| 欧美mv日韩mv国产网站app| 久久亚洲精品国产精品紫薇| 欧美激情艳妇裸体舞| 日日夜夜精品免费视频| 国产成人av电影在线观看| 欧美主播一区二区三区| 国产精品青草久久| 裸体歌舞表演一区二区| 欧美三级中文字幕| 亚洲女人****多毛耸耸8| 日本va欧美va欧美va精品| 91国在线观看| 亚洲国产成人自拍| 国产精品亚洲а∨天堂免在线| 欧美三级视频在线观看| 亚洲精品少妇30p| 成人精品高清在线| 国产精品麻豆久久久| 成人国产精品免费观看| 久久久不卡网国产精品二区| 日韩成人av影视| 欧美午夜视频网站| 亚洲一区二区三区在线播放| 日本韩国一区二区三区视频| 国产精品视频一区二区三区不卡| 国产在线精品国自产拍免费| 3d动漫精品啪啪1区2区免费| 亚洲r级在线视频| 在线播放视频一区| 亚洲四区在线观看| 在线观看一区日韩| 日本欧美在线看| 国产夜色精品一区二区av| 国产乱人伦偷精品视频不卡| 国产精品久久久久久久久免费丝袜 | 精品国产乱码久久久久久免费| 老司机午夜精品99久久| 国产清纯在线一区二区www| 成人午夜精品一区二区三区| 一区免费观看视频| 欧美亚州韩日在线看免费版国语版| 亚洲成人动漫在线免费观看| 26uuu国产一区二区三区| 成人毛片老司机大片| 日本亚洲最大的色成网站www| 精品粉嫩超白一线天av| 色先锋资源久久综合| 韩国三级中文字幕hd久久精品| 亚洲卡通欧美制服中文| 91精品国产麻豆国产自产在线 | 97精品电影院| 精品一区二区免费视频| 一区二区三区在线观看网站| 久久久99久久| 精品国产精品网麻豆系列| 色婷婷久久久久swag精品| 国产成人精品亚洲777人妖| 日韩高清在线电影| 亚洲线精品一区二区三区八戒| 精品国内片67194| 欧美一二三四区在线| 91精品国产综合久久久久| 欧美在线制服丝袜| 欧美人狂配大交3d怪物一区|