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

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

?? serial.c

?? 是KC51下的已經測試通過的X5045的c程序!
?? C
字號:
//==============================================================================
//2005-03-28...2005-03-31
//串口模塊的C51程序頭文件
//File Name=serial.c
//==============================================================================

#include "public.h"
#include "serial.h"
#include <Intrins.h>
#include "W78E52.h"
#include "delay_s.h"

/********************************************************/
//序號:
//		HD_SERIAL_S00
//功能:	
//		串口初始化,查詢模式,使用Timer2,使用11位數據字節格式
//輸入:	
//		bt	=56600, 38400, 28800, 19200, 14400, 9600, 4800, 2400, 1200 (bps)
//輸出:	
//		無
//參數出錯時,缺省的波特率是9600bps
/********************************************************/
void serial_init_set_with_11bit(uint bt)
{
uint data timer2;
	TR2 =0;
	ET2 =0;
	switch(bt)
	{	//TIMER2作為波特率發生器的值,F=11M0592,Baut=9600,T=12osc,=65536-f/(32*Baut)
		case 56600:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/55600);
			break;
			
		case 38400:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/38400);
			break;
					
		case 28800:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/28800);
			break;
			
		case 19200:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/19200);
			break;
			
		case 14400:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/14400);
			break;
			
		case 9600:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/9600);
			break;
			
		case 4800:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/4800);
			break;
			
		case 2400:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/2400);
			break;
			
		case 1200:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/1200);
			break;
			
		default:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/CONST_BAUT_RATE);
			break;
	}

	TH2 =RCAP2H =timer2 >>8;
	TL2 =RCAP2L =timer2 &0xff;
	
	PCON &=CONST_SERIAL_PCON_MASK;
	T2CON =CONST_SERIAL_T2CON_SETS;
	SCON =CONST_SERIAL_SCON_SETS_B11;		
}


/********************************************************/
//序號:
//		HD_SERIAL_S01
//功能:	
//		串口初始化,查詢模式,使用Timer2
//輸入:	
//		bt	=56600, 38400, 28800, 19200, 14400, 9600, 4800, 2400, 1200 (bps)
//輸出:	
//		無
//參數出錯時,缺省的波特率是9600bps
/********************************************************/
void serial_init_set(uint bt)
{
uint data timer2;
	TR2 =0;
	ET2 =0;
	switch(bt)
	{	//TIMER2作為波特率發生器的值,F=11M0592,Baut=9600,T=12osc,=65536-f/(32*Baut)
		case 56600:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/55600);
			break;
			
		case 38400:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/38400);
			break;
					
		case 28800:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/28800);
			break;
			
		case 19200:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/19200);
			break;
			
		case 14400:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/14400);
			break;
			
		case 9600:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/9600);
			break;
			
		case 4800:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/4800);
			break;
			
		case 2400:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/2400);
			break;
			
		case 1200:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/1200);
			break;
			
		default:
			timer2 =(uint)(65536-(SYS_FREQ_MHZ*31250)/CONST_BAUT_RATE);
			break;
	}

	TH2 =RCAP2H =timer2 >>8;
	TL2 =RCAP2L =timer2 &0xff;
	
	PCON &=CONST_SERIAL_PCON_MASK;
	T2CON =CONST_SERIAL_T2CON_SETS;
	SCON =CONST_SERIAL_SCON_SETS;		
}

/********************************************************/
//序號:
//		HD_SERIAL_S02
//功能:	
//		接收一個字節
//輸入:	
//		recv	存放接收字節的指針
//輸出:	
//		TRUE/FALSE 是/否收到一個字節
/********************************************************/
bit serial_recv_byte(uchar *rb)
{
	uchar data count =CONST_SERIAL_RECV_BYTE_DEALY_MAX;
	uchar data tmp;
	do{
		for(tmp =154; tmp >0; tmp --)
		{
			if( _testbit_(RI) ) {
				*rb =SBUF;
				return true;
			}
		}
	}while(	--count >0 ); 
	tmp =SBUF;
	return false;
}

/********************************************************/
//序號:
//		HD_SERIAL_S03
//功能:	
//		發送一個字節
//輸入:	
//		sb		要發送的字節
//輸出:	
//		無
/********************************************************/
void serial_send_byte(uchar sb)
{
	uchar data count =CONST_SERIAL_SEND_BYTE_DEALY_MAX;
	uchar data tmp;
	SBUF =sb;
	do{
		for(tmp =228; tmp>0; tmp--)
		{
			if(_testbit_(TI))
				return;
		}
	}while( --count>0);
}

/********************************************************/
//序號:
//      HD_SERIAL_S04
//功能: 
//      限時接收一個定長的數據串;
//輸入: 
//      str     存放接收的數據串指針;
//      rlen    接收長度1...CONST_SERIAL_RECV_STR_LEN_MAX, =0 不接收;
//	first_delay 接收首個字符的最大延時時間數,單位是接收一個字節的延時時間!
//輸出: 
//      實際接收的字節數
/********************************************************/
uchar serial_recv_str(uchar *str, uchar rlen, uchar first_delay)
{
	uchar data i;
	if(rlen ==0) return false;
	if(rlen >CONST_SERIAL_RECV_STR_LEN_MAX)
	{
		rlen =CONST_SERIAL_RECV_STR_LEN_MAX;
	}
	
	do{
		if(serial_recv_byte(str))
		{
			for(i=1; i<rlen; i++)
			{
				if(!serial_recv_byte(str+i))
				{
					return i;
				}
			}
			return(i);
		}
	}while(--first_delay !=0);
	return(0);
}

/********************************************************/
//序號:
//		HD_SERIAL_S05
//功能:	
//		發送一個定長數據串
//輸入:	
//		str	要發送的數據串指針;
//		slen	發送長度1...CONST_SERIAL_RECV_STR_LEN_MAX, =0 不發送;
//		遵從設置接收/發送字節間的最大延時時間-1
//輸出:	
//		無
/********************************************************/
void serial_send_str(uchar *str, uchar slen)
{
	uchar data count;	
	if(slen ==0) return ;
	if(slen >CONST_SERIAL_RECV_STR_LEN_MAX)
	{
		slen =CONST_SERIAL_RECV_STR_LEN_MAX;
	}
	for(count=0; count<slen; count++) {
		serial_send_byte(str[count]);
	}
}

/*
//********************************************************
//序號:
//		HD_SERIAL_S06
//功能:	
//		得到指定長度串的LRC字節
//輸入:	
//		str	要計算的數據串指針;
//		slen	數據串字節數
//輸出:	
//		lrc字節
//********************************************************
uchar serial_get_lrc(uchar *str, uchar slen)
{
uchar i, lrc;
	for(i=0, lrc =0; i<slen; i++)
	{
		lrc ^=str[i];
	}
	return(lrc);
}
*/

//==============================================================================
//End Of File

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产系列| 午夜精品福利一区二区三区av| 欧美性猛片aaaaaaa做受| 亚洲chinese男男1069| 午夜精品123| 五月婷婷综合在线| 久久国产精品无码网站| 国产一区二区三区在线观看精品 | 国产精品人成在线观看免费| 日韩女优av电影| 欧美人体做爰大胆视频| 91精品国产综合久久久蜜臀图片| 欧美一区二区三区在线视频| 久久久久久久综合色一本| 国产日韩精品久久久| 一区二区三区在线观看视频| 日韩av一二三| 国产成人亚洲综合色影视 | 亚洲激情自拍视频| 五月激情综合色| 亚洲bt欧美bt精品| 国产精品一区二区三区99| 色综合久久综合网97色综合| 欧美一区二区啪啪| 国产精品灌醉下药二区| 亚洲六月丁香色婷婷综合久久 | 在线观看视频一区二区欧美日韩| 欧美一区二区三区在线观看| 18欧美乱大交hd1984| 91成人国产精品| 亚洲天天做日日做天天谢日日欢| 亚洲三级在线播放| 日韩福利视频网| 99九九99九九九视频精品| 欧美日韩国产综合久久| 国产精品色哟哟| 亚洲午夜久久久久久久久电影网| 国产一区二区三区香蕉| 在线观看91精品国产入口| 国产亚洲美州欧州综合国| 亚洲妇熟xx妇色黄| a级高清视频欧美日韩| 97久久精品人人澡人人爽| av中文字幕在线不卡| 91豆麻精品91久久久久久| 国产欧美日韩综合| 久久99久久久久久久久久久| 欧美性三三影院| 亚洲欧美偷拍三级| 成人免费av资源| 久久久久久日产精品| 久久丁香综合五月国产三级网站| 欧美伊人久久久久久久久影院 | 日韩制服丝袜av| 色呦呦国产精品| 中文字幕一区二区三区不卡 | 欧美日韩一级二级| 国产精品国产三级国产普通话三级 | 欧美日韩在线免费视频| 国产精品久久久久久久久果冻传媒| 玖玖九九国产精品| 欧美日韩精品免费| 亚洲一区二区黄色| 91久久香蕉国产日韩欧美9色| 中文字幕日韩精品一区 | 午夜精品福利在线| 欧美日韩国产天堂| 亚洲h动漫在线| 欧美日韩国产不卡| 日韩中文字幕区一区有砖一区| 91蜜桃传媒精品久久久一区二区| 久久99精品久久久久久动态图| 日韩女同互慰一区二区| 久久疯狂做爰流白浆xx| 久久久久国产一区二区三区四区| 国内精品伊人久久久久av一坑| 制服丝袜亚洲精品中文字幕| 一卡二卡欧美日韩| 日韩av电影免费观看高清完整版在线观看| 99久久99久久精品免费观看| 亚洲欧美日韩系列| 欧美视频一区在线观看| 午夜欧美电影在线观看| 日韩欧美一区二区免费| 国产乱码精品一品二品| 国产精品久久二区二区| 91视频观看视频| 亚洲gay无套男同| 日韩精品一区二区三区swag | 色偷偷成人一区二区三区91 | 欧美一区二区三区免费| 青青草原综合久久大伊人精品 | 国产91丝袜在线18| 亚洲人快播电影网| 制服丝袜一区二区三区| 高清久久久久久| 亚洲国产精品久久久久秋霞影院| 色天天综合色天天久久| 丝袜美腿成人在线| 国产无遮挡一区二区三区毛片日本| 国产成人精品亚洲777人妖| 亚洲精品久久嫩草网站秘色| 666欧美在线视频| 国产91精品一区二区麻豆网站 | 蜜臀av一区二区三区| 国产欧美日韩精品一区| 在线观看www91| 裸体一区二区三区| 久久精品一区四区| av一本久道久久综合久久鬼色| 国产精品护士白丝一区av| 亚洲成人1区2区| 精品视频一区三区九区| 亚洲激情成人在线| 精品999久久久| 91黄色激情网站| 国产99一区视频免费| 免费看黄色91| 亚洲最新视频在线观看| 国产欧美一二三区| 欧美一级理论性理论a| 色婷婷国产精品久久包臀| 精彩视频一区二区| 日韩在线a电影| 亚洲精品大片www| 国产精品视频一区二区三区不卡| 日韩欧美激情在线| 欧美性生活大片视频| 奇米影视在线99精品| 亚洲1区2区3区4区| 美女精品一区二区| 国产999精品久久| 色一情一乱一乱一91av| 欧美天天综合网| 日韩视频免费观看高清完整版在线观看| 日韩三级在线观看| 国产亚洲精品免费| 亚洲女子a中天字幕| 日韩国产欧美一区二区三区| 精品一区二区三区视频在线观看| 粉嫩aⅴ一区二区三区四区| 91丨porny丨国产| 国产999精品久久久久久绿帽| 一本到一区二区三区| 日韩一区二区三区电影在线观看| 久久久久久黄色| 亚洲电影中文字幕在线观看| 激情欧美一区二区三区在线观看| 国产成人av福利| 欧美色成人综合| 久久精品视频免费观看| 伊人性伊人情综合网| 免费久久精品视频| 一本大道久久精品懂色aⅴ| 日韩欧美123| 亚洲欧美激情视频在线观看一区二区三区| 午夜不卡av免费| 成人免费视频免费观看| 在线观看91av| 国产精品久久久久久久浪潮网站 | 精品剧情在线观看| 亚洲精品免费电影| 国产成人福利片| 制服丝袜一区二区三区| 亚洲精品成人精品456| 国产精品一区二区果冻传媒| 欧美另类一区二区三区| 中文字幕亚洲一区二区va在线| 日韩中文字幕91| 欧美在线色视频| 国产精品乱码人人做人人爱| 毛片av一区二区| 欧美视频一区在线| 亚洲人午夜精品天堂一二香蕉| 国产一区二区免费视频| 这里只有精品99re| 亚洲免费观看高清完整版在线| 国产高清久久久| 欧美大片在线观看一区二区| 一区二区高清免费观看影视大全| 99久久er热在这里只有精品15| 欧美大肚乱孕交hd孕妇| 日韩av中文字幕一区二区三区| 在线观看欧美日本| 综合在线观看色| 成人18视频日本| 国产精品久久久久久亚洲伦 | 亚洲一区二区三区四区在线免费观看| 国产精品12区| 国产校园另类小说区| 国产乱码精品一品二品| 国产午夜精品一区二区| 国产精品自在在线| 久久亚洲精精品中文字幕早川悠里| 蜜臀久久99精品久久久久久9| 欧美一区二区三级| 久久99久久精品| 国产偷v国产偷v亚洲高清| 国产东北露脸精品视频| 国产欧美一区二区三区网站|