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

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

?? serial.c

?? HID 設備測試程序
?? C
字號:
/*===============================================================================//
//== 文 件 名:Serial.c
//== author	 :gnsusn
//== 說    明:串口操作
//== 修改日志:2008.7.14 創建文件
//== 
//===============================================================================*/
#include <reg52.H>

#include "Serial.h"

static struct _serial serial;		//== 串口操作結構體

//===============================================================================//
//== 函 數 名:Init_Serial_Data
//== 功   能 :初始化串口用到的數據
//== 說   明 :
//== 時   間 :2008.7.15 創建函數
//== 入口參數:無
//== 返 回 值:0(表示成功)
//===============================================================================//
unsigned char Init_Serial_Data(void)
{
	serial.send_position = 0;
	serial.send_bufp = 0;
	serial.flag = 0;
	serial.send_number = 0;
	serial.rece_position = 0;
	//serial.rece_bufp = rece_buf;
	//serial.rece_number = sizeof(rece_buf);

	return 0;
}

//===============================================================================//
//== 函 數 名:Print_Msg
//== 功   能 :通過串口0打印信息
//== 說   明 :
//== 時   間 :2008.7.14 創建函數
//== 入口參數:信息的首地址
//== 返 回 值:0(表示成功)
//===============================================================================//
unsigned char Print_Msg(unsigned char* pMsg)
{
	if (!pMsg)					//== 判斷指針是否有效
	{
		return INVAL_POINTER;	//== 數據指針無,效返回1
	}
	
	if (serial.flag != SIDEL)	//== 判斷串口是否被占用
	{
		while(serial.flag != SIDEL);//== 等待釋放串口
	}

	serial.flag = SMESSAGE;		//== 置發送類型為信息
	serial.send_bufp = pMsg;	//== 信息地址指針賦給發送緩沖區指針
	SBUF = *(serial.send_bufp++);	//== 發送第一個字符,剩下的由中斷處理

	return 0;
}

//===============================================================================//
//== 函 數 名:Print_Data
//== 功   能 :通過串口發送數據
//== 說   明 :
//== 時   間 :2008.7.14 創建函數
//== 入口參數:pData:信息的首地址;Num:發送字節的個數
//== 返 回 值:0(表示成功)
//===============================================================================//
unsigned char Print_Data(unsigned char* pData, unsigned char Num)
{
	if (!pData)					//== 判斷指針是否有效
	{
		return INVAL_POINTER;	//== 數據指針無,效返回1
	}

	if (serial.flag != SIDEL)	//== 判斷串口是否被占用
	{
		while(serial.flag != SIDEL);//== 等待釋放串口
	}

	serial.flag = SDATA;		//== 置發送類型為數據
	serial.send_number = Num;	//== 將要發送數據的個數
	serial.send_bufp = pData;	//== 數據地址指針賦給發送緩沖區指針
	SBUF = *serial.send_bufp;	//== 發送第一個字符,剩下的由中斷處理
	serial.send_position = 1;	//== 數據已經發送完一個

	return 0;
}

//===============================================================================//
//== 函 數 名:PrintLongInt
//== 功   能 :打印長整型數據
//== 說   明 :
//== 時   間 :2008.7.14 創建函數
//== 入口參數:Data:要打印的數據
//== 返 回 值:0(表示成功)
//===============================================================================//
unsigned char Print_Long(unsigned long Data)
{
	unsigned char display_buffer[10];
	unsigned long number = Data;
	char i;

	for (i=0; i<10; i++)
	{
		display_buffer[i] = 0;
	}

	for (i=9; i>=0; i--)
	{
		display_buffer[i] = '0' + number%10;
		number /= 10;
	}

	for (i=0; i<9; i++)
	{
		if (display_buffer[i] != '0') break;
	}

	Print_Data(&display_buffer[i], 10-i);

	return 0;
}

//===============================================================================//
//== 函 數 名:Print_Hex
//== 功   能 :打印十六進制數
//== 說   明 :
//== 時   間 :2008.7.14 創建函數
//== 入口參數:Data:要打印的數據
//== 返 回 值:0(表示成功)
//===============================================================================//
unsigned char Print_Hex(unsigned char* pData, unsigned char number)
{
	unsigned char code HEX_Tab[] = {'0','1','2','3','4','5','6','7',
									'8','9','A','B','C','D','E','F',};
	unsigned char i, temp[2];

	for (i=0; i<number; i++)
	{
		Print_Msg("0x");
		temp[1] = HEX_Tab[(*(pData+i))&0x0f];
		temp[0] = HEX_Tab[(*(pData+i))>>4];
		Print_Data(temp, 2);
		Print_Msg(" ");
	}

	return 0;
}

//===============================================================================//
//== 函 數 名:Serial_Saver
//== 功   能 :串口中斷服務程序
//== 說   明 :
//== 時   間 :2008.7.15 創建函數
//== 入口參數:無
//== 返 回 值:無
//===============================================================================//
void Serial_Saver(void) interrupt 4
{
	if (TI)
	{
		TI = 0;

		switch (serial.flag)
		{
			case SMESSAGE:					//== 發送信息時引起的中斷
			{
				if (*serial.send_bufp)		//== 信息未發送完
				{
					SBUF = *(serial.send_bufp++);
				}
				else						//== 信息發送完
				{
					serial.send_bufp = 0;	//== 發送緩沖區無效
					serial.flag = SIDEL;	//== 置串口狀態為閑
				}
			}break;

			case SDATA:						//== 發送數據時引起的中斷
			{
				if (serial.send_position<serial.send_number)
				{
					SBUF = *(serial.send_bufp+serial.send_position);
					serial.send_position += 1;
				}
				else						//== 數據發送完畢
				{
					serial.send_bufp = 0;
					serial.flag = SIDEL;
					serial.send_position = 0;
					serial.send_number = 0;
				}
			}break;

			default: break;
		}
	}
	else
	{
		RI = 0;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本一道本| 欧美二区乱c少妇| 国产清纯在线一区二区www| 在线播放亚洲一区| 亚洲午夜精品在线| 欧美精品xxxxbbbb| 久久不见久久见免费视频1| 欧美成人艳星乳罩| 国产91清纯白嫩初高中在线观看| 欧美韩国一区二区| 欧洲一区二区三区免费视频| 色88888久久久久久影院按摩| 亚洲v日本v欧美v久久精品| 日韩精品综合一本久道在线视频| 国产精品一品二品| 一区二区三区不卡视频| 日韩欧美电影在线| 色综合网站在线| 九一久久久久久| 欧美日韩一区精品| 懂色av中文字幕一区二区三区| 亚洲一区二区三区四区不卡| 中文字幕欧美国产| 日韩欧美一级二级三级久久久| 国内精品伊人久久久久av一坑 | 激情久久五月天| 亚洲另类在线制服丝袜| 欧美国产视频在线| 亚洲精品一区二区三区蜜桃下载| 欧美在线看片a免费观看| 国产成人av网站| 国模大尺度一区二区三区| 亚洲第一主播视频| 亚洲天堂成人网| 成人免费在线播放视频| 中文字幕高清不卡| 国产欧美一区二区三区在线老狼 | 不卡免费追剧大全电视剧网站| 精品一二线国产| 免费美女久久99| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲自拍偷拍综合| 天天综合网 天天综合色| 午夜精品成人在线视频| 亚洲成人精品在线观看| 午夜欧美在线一二页| 蜜臀va亚洲va欧美va天堂 | 青青草成人在线观看| 美女尤物国产一区| 成人av午夜影院| 欧美日韩精品一区二区天天拍小说| 欧美日韩国产高清一区二区| 日韩午夜激情视频| 国产精品人人做人人爽人人添| 亚洲色图欧美偷拍| 欧美性高清videossexo| 欧美第一区第二区| 亚洲精品你懂的| 精品久久人人做人人爱| 国产精品视频免费| 亚洲成在线观看| 成人午夜av在线| 日韩亚洲欧美成人一区| 亚洲人123区| 国产一区三区三区| 欧美高清精品3d| 亚洲精品乱码久久久久久黑人| 激情欧美一区二区三区在线观看| 色拍拍在线精品视频8848| www欧美成人18+| 国产午夜精品在线观看| 中文在线一区二区| 日韩av在线播放中文字幕| 波多野结衣精品在线| 久久精品一区二区三区不卡牛牛| 天天综合网天天综合色| 91尤物视频在线观看| 国产精品水嫩水嫩| proumb性欧美在线观看| 久久午夜色播影院免费高清| 日韩成人一级大片| 欧美一级二级在线观看| 麻豆91免费看| 国产亚洲综合av| 99久久精品国产导航| 一区二区三区在线高清| 欧美色图在线观看| 久久国产精品一区二区| 久久久国产一区二区三区四区小说| 国产一区在线观看麻豆| 久久精品视频在线看| 国产乱人伦偷精品视频不卡| 久久精品欧美日韩| 欧美日韩午夜影院| 国产酒店精品激情| 一区二区三区**美女毛片| 日韩视频免费直播| 成人动漫一区二区| 免费观看在线色综合| 久久久噜噜噜久久人人看 | 国产老妇另类xxxxx| 亚洲色图丝袜美腿| 久久网站热最新地址| 91久久久免费一区二区| 激情欧美一区二区| 亚洲一区二区精品久久av| 日韩一级高清毛片| 日本精品一区二区三区高清| 麻豆精品在线播放| 亚洲女人****多毛耸耸8| 日韩欧美一级二级| 欧美日本国产一区| 欧美性生活影院| 91玉足脚交白嫩脚丫在线播放| 国模娜娜一区二区三区| 视频一区中文字幕国产| 亚洲一区中文日韩| 亚洲丝袜精品丝袜在线| 日本一区二区成人在线| 免费在线观看精品| 蜜臀a∨国产成人精品| 日本成人在线一区| 久久国产麻豆精品| 国产不卡在线视频| 国产精品久久夜| 国产精品久久久久aaaa樱花| 中文字幕第一区二区| 亚洲欧美一区二区在线观看| 中文字幕中文字幕在线一区| 国产精品国产a| 亚洲成人av电影在线| 日本成人在线不卡视频| 国产精品白丝jk白祙喷水网站| 国产精品一品二品| 欧美亚洲免费在线一区| 日韩区在线观看| 国产欧美一区二区三区在线看蜜臀| 中文字幕精品—区二区四季| 亚洲一区二区av在线| 国产一区二区福利| 在线欧美日韩精品| 成人久久久精品乱码一区二区三区| 不卡视频一二三| 久久精品一区八戒影视| 亚洲精选免费视频| 国产一区二区视频在线播放| 99久久精品国产导航| 久久色中文字幕| 亚洲国产精品自拍| 成人手机电影网| 欧美videofree性高清杂交| 91久久精品网| 国产精品福利一区二区三区| 精品在线你懂的| 精品国产一区二区三区av性色| 亚洲精品日日夜夜| 成人高清免费观看| 国产欧美日产一区| 成人影视亚洲图片在线| 日韩午夜电影在线观看| 美女被吸乳得到大胸91| 日本免费新一区视频| 91精品啪在线观看国产60岁| 亚洲三级视频在线观看| 成人av电影免费观看| 亚洲国产精品成人综合 | 久久精品国产精品亚洲红杏 | 国产精品久久久久久久裸模| 国产女人18水真多18精品一级做| 日本视频在线一区| 成人手机在线视频| 亚洲男女毛片无遮挡| 91免费视频观看| 亚洲va在线va天堂| 日韩一区二区三区视频在线观看| 婷婷综合另类小说色区| 日韩精品在线一区| 成人伦理片在线| 日本不卡视频在线观看| 麻豆精品久久久| 国产亚洲欧洲一区高清在线观看| 成人avav影音| 图片区小说区国产精品视频| 久久久久久**毛片大全| 91香蕉国产在线观看软件| 五月激情六月综合| 国产精品久久久久久久久久久免费看 | 亚洲日本免费电影| 国产美女精品一区二区三区| 亚洲自拍另类综合| 久久蜜桃香蕉精品一区二区三区| 91在线播放网址| 国产福利不卡视频| 蜜乳av一区二区| 午夜激情久久久| 亚洲精品日韩专区silk| 中文字幕一区二区三区四区 | 欧美aaaaaa午夜精品| 亚洲黄色在线视频| 综合婷婷亚洲小说|