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

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

?? serial.c

?? 基于NXP2200平臺(tái)的OS移植模板
?? C
字號(hào):
/** @file	Serial.c* @brief	串口部分API程序, 該部分封裝底層驅(qū)動(dòng), 為用戶(hù)提供接口* @Notice	串口號(hào)定義為, CPU內(nèi)部為0 1 擴(kuò)展串口依次后面加, 如有問(wèn)題請(qǐng)聯(lián)系作者* @Author	Mars.zhu@hotmail.com 2007-9-22 8:01*/#include "option.h"#include "tcuart.h"#include "Sermem.h"#include "Serial.h"static	S_TermiosUart_dev[UART_CNT];							/** 定義串口結(jié)構(gòu), 該結(jié)構(gòu)中保存參數(shù)*//*********************************************************************************************************** 內(nèi)部函數(shù)**********************************************************************************************************/static voidcfsetispeed(S_Termios *tios_p, speed_t speed){	tios_p->c_baud = speed;}#define	cfsetospeed(...)static D_Resulttcsetattr(uint8 fd){	if (fd >= UART_CNT)	return D_ERR;	switch (fd) {	case 0:	case 1: {								// CPU內(nèi)部串口設(shè)置		UARTn_Init(fd, &Uart_dev[fd]);		break;	}	default:		break;	}	return D_OK;}/*********************************************************************************************************** 用戶(hù)初始化API, 類(lèi)UNIX接口**********************************************************************************************************//** @func open_port* @brief 打開(kāi)串口* @Retval	D_OK	 成功*			D_ERR	 失敗*/D_Resultopen_port(uint8 fd, uint8 comport){	fd = fd;	if (Uart_dev[comport].c_open_fg == 1)	return D_ERR;	Uart_dev[comport].c_open_fg = 1;	UartInitBuf(fd);	return D_OK;}/** @func close_port* @brief 關(guān)閉串口* @Retval	D_OK	 成功*			D_ERR	 失敗*/D_Resultclose_port(uint8 fd, uint8 comport){	fd = fd;	if (Uart_dev[comport].c_open_fg == 0)	return D_ERR;	Uart_dev[comport].c_open_fg = 0;	return D_OK;}/** @func set_opt* @brief 設(shè)置串口屬性函數(shù)* @Retval	D_OK	 成功*			D_ERR	 失敗*/D_Resultset_opt(uint8 fd, speed_t nSpeed, uint8 nBits, char nEvent, uint8 nStop){	/** 設(shè)置波特率*/	switch (nSpeed) {	case 2400:		cfsetispeed(&Uart_dev[fd], B2400);		cfsetospeed(&Uart_dev[fd], B2400);		break;	case 8400:		cfsetispeed(&Uart_dev[fd], B4800);		cfsetospeed(&Uart_dev[fd], B4800);		break;	case 9600:		cfsetispeed(&Uart_dev[fd], B9600);		cfsetospeed(&Uart_dev[fd], B9600);		break;	case 57600:		cfsetispeed(&Uart_dev[fd], B57600);		cfsetospeed(&Uart_dev[fd], B57600);		break;	case 115200:		cfsetispeed(&Uart_dev[fd], B115200);		cfsetospeed(&Uart_dev[fd], B115200);		break;	case 230400:		cfsetispeed(&Uart_dev[fd], B230400);		cfsetospeed(&Uart_dev[fd], B230400);		break;	case 460800:		cfsetispeed(&Uart_dev[fd], B460800);		cfsetospeed(&Uart_dev[fd], B460800);		break;	default:		cfsetispeed(&Uart_dev[fd], B9600);		cfsetospeed(&Uart_dev[fd], B9600);		break;	}	/** 設(shè)置數(shù)據(jù)位*/	switch (nBits) {	case 5: {		Uart_dev[fd].c_cflag |= CS5;		break;	}	case 6: {		Uart_dev[fd].c_cflag |= CS6;		break;	}	case 7: {		Uart_dev[fd].c_cflag |= CS7;		break;	}	case 8: {		Uart_dev[fd].c_cflag |= CS8;		break;	}	default:		break;	}	/** 設(shè)置奇偶校驗(yàn)位*/	switch (nEvent) {	case 'O': {					// 奇數(shù)		Uart_dev[fd].c_cflag |= PARENB;		Uart_dev[fd].c_cflag |= PARODD;		break;	}	case 'E': {					// 偶數(shù)		Uart_dev[fd].c_cflag |= PARENB;		Uart_dev[fd].c_cflag &= ~PARODD;		break;	}	case 'N': {					// 無(wú)奇偶校驗(yàn)位		Uart_dev[fd].c_cflag &= ~PARENB;		break;	}	default:		break;	}	/** 設(shè)置停止位*/	if (nStop == 1)		Uart_dev[fd].c_cflag &= ~CSTOPB;	else if (nStop == 2)		Uart_dev[fd].c_cflag |= CSTOPB;	/** FIFO 使能*/	Uart_dev[fd].c_FIFO_data	= 1;	return tcsetattr(fd);}/** @func	uart_write* @brief	向串口寫(xiě)入數(shù)據(jù)* @param	fd			打開(kāi)的串口描述符*			data_buf	發(fā)送數(shù)據(jù)緩沖區(qū)*			NByte		發(fā)送字節(jié)數(shù)* @Retval	writen		成功發(fā)送字節(jié)數(shù)*/uint16uart_write(uint8 fd, const uint8 *data_buf, uint16 NByte){	uint16	writen;	if (Uart_dev[fd].c_open_fg != 1)		return 0;	for (writen=0; writen<NByte; writen++) {		if (UsrPutc(fd, data_buf[writen]) != 0)	break;	}	UartFlush(fd);	return writen;}/** @func	uart_read* @brief	讀取串口數(shù)據(jù)* @param	fd			打開(kāi)的串口描述符*			data_buf	接收數(shù)據(jù)緩沖區(qū)*			NByte		接收字節(jié)數(shù)* @Retval	實(shí)際接收字節(jié)數(shù)*/uint16uart_read(uint8 fd, uint8 *data_buf, uint16 NByte){	uint8	dat;	uint16	readn;	if (Uart_dev[fd].c_open_fg != 1)		return 0;	for (readn=0; readn<NByte; readn++) {		if (UsrGetc(fd, &dat) == 0)			data_buf[readn] = dat;		else			break;	}	return readn;}/** @func	uart_putch* @brief	向串口緩沖區(qū)寫(xiě)1字節(jié)數(shù)據(jù)* @param	fd	打開(kāi)的串口描述符*			ch	寫(xiě)入的字符* @Retval	0	成功*/D_Resultuart_putch(uint8 fd, uint8 ch){	return	UsrPutc(fd, ch);}/** @func	uart_getch* @brief	從串口緩沖區(qū)讀1字節(jié)數(shù)據(jù)* @param	fd	打開(kāi)的串口描述符*			ch	讀取的字符* @Retval	0	成功*/D_Resultuart_getch(uint8 fd, uint8 *ch){	return	UsrGetc(fd, ch);}/** @func	uart_print* @brief	輸出字符串* @param	fd	打開(kāi)的串口描述符*			str	字符串指針, 字符串只輸出MaxLenStr以?xún)?nèi)部分* @Retval	void*/voiduart_print(uint8 fd, char *str){	uint8	i;	char	ch;	for (i=0; i<MaxLenStr; i++) {		if ((ch=str[i]) == '\0') {			break;		} else if (ch == '\n') {			while (UsrPutc(fd, 0x0D));			while (UsrPutc(fd, 0x0A));		} else {			while (UsrPutc(fd, ch));		}	}	UartFlush(fd);}voiduart_print_hex(uint8 fd, uint8 hex){	uint8	c;	c = hex >> 4;	if (c<=9)	c = c + '0';	else		c = c + 'A' - 10;	UsrPutc(fd, c);	c = hex & 0x0F;	if (c<=9)	c = c + '0';	else		c = c + 'A' - 10;	UsrPutc(fd, c);	UartFlush(fd);}voiduart_print_dec(uint8 fd, uint8 dec){	uint8	c;	if (dec > 99) {		c = dec / 100;		c = c + '0';		UsrPutc(fd, c);		dec %= 100;		c = dec / 10;		c = c + '0';		UsrPutc(fd, c);		c = dec % 10;		c = c + '0';		UsrPutc(fd, c);	} else if (dec > 9) {		dec %= 100;		c = dec / 10;		c = c + '0';		UsrPutc(fd, c);		c = dec % 10;		c = c + '0';		UsrPutc(fd, c);	} else {		c = dec % 10;		c = c + '0';		UsrPutc(fd, c);	}	UartFlush(fd);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一本到| 精品国产髙清在线看国产毛片| 亚洲成人精品一区二区| 久久综合国产精品| 日本韩国欧美一区| 国产成人精品免费视频网站| 亚洲va欧美va天堂v国产综合| 日韩精品亚洲一区| 中文一区一区三区高中清不卡| 91精品国产综合久久精品麻豆 | 久久精品久久久精品美女| 中文字幕日本乱码精品影院| 日韩欧美一区在线观看| 精品视频资源站| 91亚洲国产成人精品一区二三| 激情综合一区二区三区| 视频一区二区三区中文字幕| 亚洲视频一二三区| 国产精品网站在线观看| 欧美精品一区二区三区在线| 欧美嫩在线观看| 欧洲亚洲精品在线| 99v久久综合狠狠综合久久| 国产suv精品一区二区三区| 久久99精品久久久| 热久久免费视频| 婷婷综合在线观看| 亚洲高清在线视频| 一区二区三区免费看视频| 亚洲视频在线一区| 亚洲同性同志一二三专区| 国产日韩欧美麻豆| 国产亚洲精品7777| 欧美国产精品专区| 国产免费成人在线视频| 久久精品人人爽人人爽| 久久美女艺术照精彩视频福利播放| 欧美一区二区久久| 精品国内二区三区| 26uuu国产电影一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美va亚洲va国产综合| 亚洲蜜臀av乱码久久精品蜜桃| 中文字幕日韩精品一区| 亚洲男人的天堂网| 亚洲已满18点击进入久久| 亚洲综合丁香婷婷六月香| 亚洲综合免费观看高清完整版在线| 亚洲精品国产a| 亚洲国产裸拍裸体视频在线观看乱了 | 久久精品国产网站| 精品一区二区三区不卡| 国产麻豆视频精品| 成人av资源下载| 91小视频在线| 欧美男生操女生| 欧美成人一区二区三区| 久久一区二区视频| 综合自拍亚洲综合图不卡区| 亚洲欧美日韩电影| 日韩—二三区免费观看av| 蜜臀av亚洲一区中文字幕| 国产一区二区在线免费观看| 国产成人亚洲综合a∨婷婷图片| 成人激情小说乱人伦| 在线日韩一区二区| 日韩欧美中文一区| 国产三级久久久| 亚洲欧美成人一区二区三区| 亚洲图片有声小说| 国产呦萝稀缺另类资源| 91色在线porny| 伊人性伊人情综合网| 婷婷久久综合九色国产成人| 国产一区在线不卡| 色香蕉成人二区免费| 日韩三级免费观看| 中文字幕日本不卡| 男女激情视频一区| 97aⅴ精品视频一二三区| 8v天堂国产在线一区二区| 国产亚洲精品aa午夜观看| 亚洲一区二区免费视频| 极品尤物av久久免费看| 日本道色综合久久| 精品99久久久久久| 亚洲午夜精品17c| 国产福利一区二区| 欧美日韩国产大片| 麻豆国产精品777777在线| 久久精品国产在热久久| 国产精品影视在线| 欧美色视频一区| 国产成人亚洲综合a∨婷婷| av在线播放不卡| 91激情五月电影| 久久精品网站免费观看| 国产一区二区三区电影在线观看 | 亚洲另类中文字| 色综合久久久久| 亚洲欧美欧美一区二区三区| 97久久精品人人做人人爽| 亚洲婷婷综合色高清在线| jiyouzz国产精品久久| 国产精品女同互慰在线看 | www激情久久| 国内精品久久久久影院色| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲欧美日韩国产成人精品影院| 99精品国产视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 高清在线不卡av| 亚洲人成在线观看一区二区| 色综合天天综合在线视频| 盗摄精品av一区二区三区| 欧美激情在线观看视频免费| 国产成人精品一区二区三区网站观看| 国产日韩欧美在线一区| 不卡av在线网| 亚洲在线一区二区三区| 欧美日韩国产一二三| 免费欧美在线视频| 久久精品男人天堂av| 99久久er热在这里只有精品15| 亚洲另类春色校园小说| 欧美日韩在线一区二区| 美国十次综合导航| 国产偷国产偷亚洲高清人白洁| 99在线精品观看| 亚洲国产精品久久人人爱| 欧美一级一区二区| 国产美女精品一区二区三区| 一区免费观看视频| 欧美日韩在线不卡| 韩国av一区二区三区在线观看 | 色婷婷综合久久久中文字幕| 亚洲国产婷婷综合在线精品| 欧美一区二区三区在线电影 | 久久久精品一品道一区| 99久久精品免费看国产免费软件| 一区二区三区日韩欧美| 欧美一级午夜免费电影| 成人av动漫网站| 天天亚洲美女在线视频| 久久精品视频免费观看| 在线影院国内精品| 精品一区二区av| 亚洲婷婷国产精品电影人久久| 欧美亚洲综合另类| 国产原创一区二区| 亚洲黄色在线视频| 久久亚洲精品国产精品紫薇| 色偷偷一区二区三区| 韩国中文字幕2020精品| 一区二区免费在线| 久久久久久久一区| 欧美日韩大陆一区二区| 粉嫩在线一区二区三区视频| 午夜精品福利视频网站| 国产精品美女久久久久av爽李琼| 欧美日韩一区国产| www.色综合.com| 另类小说视频一区二区| 亚洲色图20p| 欧美精品一区二区高清在线观看| 色欧美片视频在线观看在线视频| 国内不卡的二区三区中文字幕| 一区二区三区色| 国产精品久久久久婷婷二区次| 欧美一区二区私人影院日本| 色乱码一区二区三区88| 国产精品一区二区黑丝| 日韩av高清在线观看| 一区二区三区在线播| 国产亲近乱来精品视频| 欧美一卡在线观看| 91福利视频久久久久| 高清不卡一二三区| 韩国在线一区二区| 蜜桃视频在线观看一区| 亚洲午夜精品在线| 一区二区日韩av| 日韩美女视频一区| 中文字幕不卡在线| 久久久午夜精品| 日韩精品一区二区三区四区| 欧美日韩一区二区三区不卡| 色94色欧美sute亚洲线路一ni| 成人网在线免费视频| 国产成人综合亚洲网站| 狠狠色综合日日| 久久国产精品无码网站| 日本伊人色综合网| 亚洲成av人片在线观看| 亚洲视频一区二区在线观看| 岛国精品在线观看| 欧美zozo另类异族| 久久国内精品视频| 精品国产99国产精品| 日产欧产美韩系列久久99|