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

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

?? serial.c

?? 這是新華龍(www.xhl.xom.xn)開發的
?? C
字號:
//串口中斷服務程序,僅需做簡單調用即可完成串口輸入輸出的處理
//出入均設有緩沖區,大小可任意設置。
//*************************************************************************
#include "c8051f020.h"				// SFR declarations
#include "intrins.h"

#define	BAUDRATE0		115200		// 用戶定義的UART0 波特率

#define DB_SENDMAXSIZE 0xf0
#define DB_RECMAXSIZE 0xf0

bit CommRecDataOverflowFlag,FlagRecComm,SendItComm;
extern unsigned char Count1ms;
unsigned char CommSendBufferHead, CommSendBufferTail;
unsigned char xdata CommSendBuffer[DB_SENDMAXSIZE]; 
unsigned char CommRecBufferHead, CommRecBufferTail;
unsigned char xdata CommRecBuffer[DB_RECMAXSIZE]; 

void ClearCommRecBuffer(void)
{
	unsigned char i;
	CommRecBufferHead=CommRecBufferTail=0;
	CommSendBufferHead=CommSendBufferTail=0;
	FlagRecComm=0;
	for (i=0;i<DB_SENDMAXSIZE;i++)
	{
		CommSendBuffer[i]=0;
	}
	for (i=0;i<DB_RECMAXSIZE;i++)
	{
		CommRecBuffer[i]=0;
	}

}
void OpenComm(void) 
{
	PCON |= 0x80;		// SMOD=1 (HW_UART uses Timer 1 overflow with no divide down).
	TMOD |= 0x20;		// Configure Timer 1 for use by UART0
	CKCON |= 0x10;		// Timer 1 derived from SYSCLK

	RCAP2H=(65536-(SYSCLK/BAUDRATE0/32))/256;
	RCAP2L=(65536-(SYSCLK/BAUDRATE0/32))%256;
	TH2=RCAP2H;TL2=RCAP2L;
	CT2=0;				//T2:timer mode	
	TR2=1;
	TCLK=1;RCLK=1;		//說明:52,對于SIO0,可選擇T1(TCLK=0,RCLK=0)或T2(TCLK=1,RCLK=1)作為波特率發生器
					    //            SIO1只能用T1作為波特率發生器
					    //baud=OSC/(32*(65536-[RCAP2H,RCAP2L])
	CommSendBufferHead=CommSendBufferTail=0; // set the head and tail to the base of the ring buffer
	CommRecBufferHead=CommRecBufferTail=0;
	FlagRecComm=0;
	RI0=0;					// Clear HW_UART receive and transmit
	TI0=0;					// complete indicators.
	SCON0 = 0x50;			// Configure UART0 for mode 1, receiver enabled.
	ES0=1; 					// allow the serial interrupt
//	PS=1;
	SendItComm=1;
}
void SendCommChar(char ch)
{
	CommSendBuffer[CommSendBufferTail]=ch; 
	CommSendBufferTail++;
	if (CommSendBufferTail==DB_SENDMAXSIZE)
	{ 	
		CommSendBufferTail=0;
	}
	if (SendItComm)
	{	 
		SendItComm=0;
		SBUF0=CommSendBuffer[CommSendBufferHead]; 
	}
	while (CommSendBufferHead!=CommSendBufferTail);
	return ;
}
code unsigned char hex[]="0123456789ABCDEF";
void SendCommHex(unsigned char senddata)//往串口發送hex碼 表示的一個字符 例如senddata=0x3A那么將向串口發送兩個字符'3','A'hex[]為轉換表,在前面有定義
{
	unsigned char ch;
	ch=senddata>>4;
	SendCommChar(hex[ch]);
	ch=senddata&0x0F;
	SendCommChar(hex[ch]);
}
void SendCommWord(unsigned int asciiword)
//向串口發送一個int型的 hex碼表示的字符 例如:asciiword=0x124D 將向串口發送4個字符:'1','2','4','D'
{
	unsigned char ascii;
	ascii=asciiword>>8;
	SendCommHex(ascii);
	ascii=asciiword&0xff;
	SendCommHex(ascii);
}

void SendCommLong(unsigned long asciilong)
{
	SendCommWord(asciilong>>16);
	SendCommWord(asciilong&0xffff);
}

void SendCommString(unsigned char *base) 
{
unsigned char i=0;
	if (base[0]==0) return;
	for (;;)
	{	
		if (base[i]==0) break;
		CommSendBuffer[CommSendBufferTail]=base[i]; 
		CommSendBufferTail++; 
		if (CommSendBufferTail==DB_SENDMAXSIZE)
		{ 						
			CommSendBufferTail=0;
		}
		i++;
	}
	if (SendItComm)
	{	 						
		SendItComm=0;
		SBUF0=CommSendBuffer[CommSendBufferHead];
	}
	while (CommSendBufferHead!=CommSendBufferTail);
}

void CommISR(void) interrupt 4
{
	if (_testbit_(TI0))
	{
		TI0=0;
		CommSendBufferHead++; 	
		if (CommSendBufferHead==DB_SENDMAXSIZE)
		{	 
			CommSendBufferHead=0;
		}
		if (CommSendBufferHead!=CommSendBufferTail)
		{	 
			SBUF0=CommSendBuffer[CommSendBufferHead]; // send the next byte
			SendItComm=0;
		}
		else
		{
			SendItComm=1;
		}
	}
	if (_testbit_(RI0))	
	{	 
		RI0=0;
		if (CommRecBufferTail==CommRecBufferHead)
		{
			CommRecDataOverflowFlag=1;				//接收緩沖區溢出
		}
		CommRecBuffer[CommRecBufferTail]=SBUF0;     //receive data           
	    CommRecBufferTail++;
	    if (CommRecBufferTail==DB_RECMAXSIZE)
	    {
	    	CommRecBufferTail=0;
	    }
		FlagRecComm=1;
   	}
}

//從接收緩沖區讀數據 ,無數據返回0,有數據返回1
bit GetCommChar(unsigned char idata *ch)      
{ 
	if (CommRecBufferTail==CommRecBufferHead) return 0;     
	*ch=CommRecBuffer[CommRecBufferHead];
	CommRecBufferHead++;
	if (CommRecBufferHead==DB_RECMAXSIZE)
	{
		CommRecBufferHead=0;
	}
	if (CommRecBufferTail==CommRecBufferHead) FlagRecComm=0;
	return 1;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区免费在线观看| 亚洲一区二区三区免费视频| 美国一区二区三区在线播放| 欧美日韩国产高清一区二区 | 精品欧美一区二区久久| 成人app网站| 免费成人你懂的| 成人美女在线观看| 天堂成人国产精品一区| 国产精品色在线观看| 日韩精品资源二区在线| 91成人免费在线视频| 国产成人午夜99999| 蜜桃久久久久久久| 亚洲电影一级黄| 国产欧美一区二区精品性| 777亚洲妇女| 91在线精品一区二区| 国产麻豆精品一区二区| 日一区二区三区| 一色屋精品亚洲香蕉网站| 精品999久久久| 欧美一区二区三区视频免费播放 | 男男成人高潮片免费网站| 亚洲欧美综合另类在线卡通| 国产午夜精品一区二区三区视频| 欧美日韩精品一区二区| 91天堂素人约啪| 成人中文字幕电影| 国产麻豆一精品一av一免费| 蜜臀av在线播放一区二区三区| 亚洲亚洲人成综合网络| 亚洲欧美视频在线观看| 国产精品情趣视频| 日本一区二区成人在线| 国产日韩欧美精品电影三级在线| 日韩精品一区二| 日韩情涩欧美日韩视频| 欧美精品777| 91精品综合久久久久久| 91麻豆精品国产| 欧美一级搡bbbb搡bbbb| 7777精品伊人久久久大香线蕉超级流畅| 97久久超碰精品国产| av在线播放不卡| 岛国精品一区二区| 成人黄色777网| aaa欧美大片| 色噜噜狠狠色综合欧洲selulu| 91小宝寻花一区二区三区| 91丨porny丨首页| 91小视频在线免费看| 日本久久一区二区三区| 日本高清成人免费播放| 精品视频一区二区三区免费| 欧洲一区二区三区在线| 欧美精品一二三| 欧美一三区三区四区免费在线看 | 这里只有精品99re| 亚洲第一狼人社区| 国产精品资源网站| 蜜桃视频在线观看一区| 日韩精品一二三| 蜜桃精品视频在线观看| 国产一区福利在线| 国产91丝袜在线观看| 99精品国产99久久久久久白柏| 一本大道久久a久久综合婷婷| 欧美午夜精品理论片a级按摩| 欧美日韩高清一区二区三区| 日韩欧美亚洲国产另类| 久久午夜老司机| 中文字幕一区二区三区乱码在线| 一区二区三区在线免费视频| 一区二区三区丝袜| 伊人色综合久久天天| 一区二区三区在线观看网站| 色先锋资源久久综合| 欧美日韩在线播放| 欧美va亚洲va香蕉在线| **性色生活片久久毛片| 日韩专区在线视频| 国产精品一区久久久久| 一本到不卡精品视频在线观看| 欧美三区免费完整视频在线观看| 欧美大片在线观看一区| 亚洲欧洲日韩av| 日本麻豆一区二区三区视频| 国产成人免费高清| 欧美日韩三级在线| 国产无人区一区二区三区| 亚洲午夜激情av| 国产精品一区二区黑丝| 欧美在线视频你懂得| 久久久亚洲国产美女国产盗摄 | 91精品欧美福利在线观看| 久久久噜噜噜久久中文字幕色伊伊| 亚洲人成影院在线观看| 久久国产福利国产秒拍| 色婷婷精品久久二区二区蜜臂av | 天天综合网 天天综合色| 国产一区二区福利| 欧美人伦禁忌dvd放荡欲情| 欧美激情中文字幕| 免费观看在线色综合| 91免费视频网址| 久久综合狠狠综合久久激情| 亚洲综合清纯丝袜自拍| 国产成人免费视频| 日韩欧美成人午夜| 亚洲一级二级三级| av色综合久久天堂av综合| 日韩欧美国产小视频| 亚洲福中文字幕伊人影院| 成人aa视频在线观看| 久久影院电视剧免费观看| 视频一区在线视频| 中文字幕中文字幕在线一区 | 国产一区二区三区电影在线观看| 色拍拍在线精品视频8848| 久久久av毛片精品| 天天综合色天天| 色综合久久中文综合久久97| 国产午夜精品久久久久久免费视| 日本三级韩国三级欧美三级| 在线免费av一区| 亚洲欧美一区二区视频| 成人晚上爱看视频| 精品国产青草久久久久福利| 日本成人超碰在线观看| 欧美色欧美亚洲另类二区| 亚洲男女一区二区三区| www.综合网.com| 国产精品每日更新在线播放网址| 国精产品一区一区三区mba桃花| 91精品国产一区二区| 亚洲sss视频在线视频| 欧美日韩综合在线| 亚洲一区二区综合| 在线观看一区二区精品视频| 一区二区三区中文字幕电影| 18成人在线视频| 欧美体内she精高潮| 综合网在线视频| 成人精品视频一区| 欧美—级在线免费片| 国产精品亚洲成人| 国产拍揄自揄精品视频麻豆| 国产成人av电影在线| 国产婷婷色一区二区三区四区 | 亚洲综合视频在线观看| 中文字幕av资源一区| 成人免费毛片aaaaa**| 国产精品国产三级国产三级人妇| 成人精品小蝌蚪| 亚洲视频你懂的| 欧美在线观看一区二区| 亚洲成av人**亚洲成av**| 欧美高清dvd| 久久66热re国产| 日本一区二区视频在线| 成年人网站91| 亚洲午夜精品网| 91精品在线免费观看| 韩国毛片一区二区三区| 亚洲国产成人在线| 在线视频你懂得一区二区三区| 亚洲一级在线观看| 精品久久久久久久久久久院品网 | 久久99国内精品| 精品国产污污免费网站入口| 国产成人精品综合在线观看| 国产精品第五页| 欧美在线一区二区三区| 麻豆精品一区二区综合av| 国产女主播一区| 欧美色图免费看| 精东粉嫩av免费一区二区三区| 日本一区二区三区久久久久久久久不| 成人久久视频在线观看| 亚洲综合精品久久| 精品国精品国产尤物美女| www.性欧美| 日韩av在线发布| 国产精品无人区| 欧美精品日日鲁夜夜添| 国产91精品一区二区麻豆亚洲| 一区二区三区精品| 欧美精品一区二区三区高清aⅴ| 99综合电影在线视频| 免费欧美日韩国产三级电影| 国产精品免费免费| 日韩一级黄色片| 91猫先生在线| 国产自产v一区二区三区c| 一区二区三区高清| 国产无遮挡一区二区三区毛片日本| 欧美三级视频在线播放| 国产成人亚洲精品狼色在线| 五月天中文字幕一区二区|