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

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

?? uart_ini.h

?? 3個串口接收
?? H
字號:
#include	"com_cfg.h"
#include	"config.h"
#include	"UART_IRQ.h"

#define		UARTBAUD	4800				// 未考慮小數分頻器,所預期得到的波特率
#define		UART0BAUD	38400				// 未考慮小數分頻器,所預期得到的波特率


#define		FDR			0 					// 若該宏為0則不會啟用小數分頻器

/*********************************************************************************************************
** 函數名稱 :ClrRcvFIFO
** 函數功能 :讀空接收FIFO
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************/
void ClrU0RcvFIFO(void)
{
	volatile uint32 i, temp = 0;

	for (i = 0; i < 8; i++)	
	{
		if ((U0LSR & 0x01) == 0x01)
		{
			temp = U0RBR;					// 讀空接收FIFO
		}
		else
		{
			break;
		}
	}		
}

void ClrU1RcvFIFO(void)
{
	volatile uint32 i, temp = 0;

	for (i = 0; i < 8; i++)	
	{
		if ((U1LSR & 0x01) == 0x01)
		{
			temp = U1RBR;					// 讀空接收FIFO
		}
		else
		{
			break;
		}
	}		
}	

void ClrU2RcvFIFO(void)
{
	volatile uint32 i, temp = 0;

	for (i = 0; i < 8; i++)	
	{
		if ((U2LSR & 0x01) == 0x01)
		{
			temp = U2RBR;					// 讀空接收FIFO
		}
		else
		{
			break;
		}
	}		
}	

void ClrU3RcvFIFO(void)
{
	volatile uint32 i, temp = 0;

	for (i = 0; i < 8; i++)	
	{
		if ((U3LSR & 0x01) == 0x01)
		{
			temp = U3RBR;					// 讀空接收FIFO
		}
		else
		{
			break;
		}
	}		
}	

/*********************************************************************************************************
** 函數名稱:BaudGet
** 函數功能:計算當前的實際波特率
** 入口參數:無 
** 出口參數:RealBaud	當前的實際波特率
**********************************************************************************************************/
/*
uint32	BaudGet(void)
{
	uint16 dll, dlm;	
	uint32 Realbaud, div, mul;	
	
	// 讀取除數鎖存器和小數波特率發生器的值 
	U0LCR = 0x83;							// DLAB=1
	dlm   = U0DLM;
	dll   = U0DLL;
	div   = U0FDR & 0x0F;
	mul   = (U0FDR >> 4) & 0x0F;
	U0LCR = 0x03;
	
	// 考慮進小數分頻寄存器,計算實際波特率 
	Realbaud = mul * Fpclk / ( 16 * (256 * dlm + dll) * (mul + div) );
	
	return (Realbaud);	
}
*/

/*********************************************************************************************************
** 函數名稱:UART0_Ini
** 函數功能:按默認值初始化串口0的引腳和通訊參數。設置為8位數據位,1位停止位,無奇偶校驗,波特率。
** 入口參數:無 
** 出口參數:無
**********************************************************************************************************/

void UART0_Ini(void)
{
	uint32 	Fdiv = 0;
//	uint32 bak = 0;

	/* 在PCONP里啟用UART0 */
	PCONP 	|= 1 << 3;						// 使能UART0
		
	/* 初始化引腳 */
	PINSEL0  |= (0x01 << 4) | (0x01 << 6);	// 設置P0.2和P0.3連接到UART0

	/* 初始化串口通訊參數 */
	U0LCR 	 = 0x83;						// 設置為8位數據位,1位停止位,無奇偶校驗,DLAB=1, 允許設置波特率
	Fdiv 	 = (Fpclk / 16) / UART0BAUD;		// 設置波特率

	U0DLM 	 = Fdiv / 256;
	U0DLL 	 = Fdiv % 256;
	U0LCR 	 = 0x03;						// 令DLAB位為0

	/* 設置FIFO */
   	U0FCR  	 = 0x05;					    // 使能FIFO,并設置FIFO觸發深度大小為1個字節
	
	/* 清除接收FIFO內的數據 */
	ClrU0RcvFIFO();
	
	/* 初始化UART0 VIC 中斷接口 */
    VICIntEnClr  |= 1 << UART0_INT;	
    	
	VICVectPri6   = 0x05;					
	VICVectAddr6  = (uint32)IRQ_UART0Recv;	
//	VICVectAddr6  = (uint32)IRQ_UART0Send;	
	
	VICIntEnable |= 1 << UART0_INT;		
	IRQEnable();

		/*	以下語句設置小數分頻系數為0.5	*/
#if		FDR
  	U0FDR  = (1 << 0) |						// DIVADDVAL=1
			 (1 << 4);						// MULVAL=1	
#endif
}

/*********************************************************************************************************
** 函數名稱:UART1_IniDft
** 函數功能:按默認值初始化串口1的引腳和通訊參數。設置為8位數據位,1位停止位,無奇偶校驗,波特率。
** 入口參數:無 
** 出口參數:無
**********************************************************************************************************/
void UART1_Ini(void)
{
	uint32 	Fdiv = 0;
	PCONP |= (1 << 4);						// 打開UART1

	/* 初始化相關的I/O口 */
//	PINSEL4 = (0x02 << 0) | (0x02 << 2);	// 設置P2.0和P2.1管腳連接到UART1
	PINSEL0 |= 0x01 << 30;					// 設置P0.15和P0.16管腳連接到UART1
	PINSEL1 |= 0x01 << 0;
	
	/* 初始化串口通訊參數 */
	U1LCR 	= 0x83;							// 設置為8位數據位,1位停止位,無奇偶校驗,DLAB=1,允許設置波特率
	Fdiv 	= (Fpclk / 16) / UARTBAUD;		// 設置波特率
	U1DLM 	= Fdiv / 256;
	U1DLL 	= Fdiv % 256;
	U1LCR 	= 0x03;							// 令DLAB位為0

	/* 設置FIFO */
    U1FCR  	 = 0x05;					    // 使能FIFO,并設置FIFO觸發深度大小為1個字節
//	U1FCR  	 = 0x85;					    // 使能FIFO,并設置FIFO觸發深度大小為8個字節
//	U1FCR  	 = 0x04;					    // 禁能FIFO,

	/* 清除接收FIFO內的數據 */
	ClrU1RcvFIFO();
	
	/* 初始化UART1 VIC 中斷接口 */
    VICIntEnClr  |= 1 << UART1_INT;	
    	
	VICVectPri7   = 0x06;					
	VICVectAddr7  = (uint32)IRQ_UART1Recv;	
//	VICVectAddr7  = (uint32)IRQ_UART1Send;	
	
	VICIntEnable |= 1 << UART1_INT;		
	IRQEnable();

//	U1FCR 	&= ~0x07;						// 禁用FIFO
//  U1IER 	&= ~0x07;						// 禁止UART產生中斷

	/*	以下語句設置小數分頻系數為0.5	*/
#if		FDR
  	U1FDR  = (1 << 0) |						// DIVADDVAL=1
			 (1 << 4);						// MULVAL=1	
#endif

}

/*********************************************************************************************************
** 函數名稱:UART2_IniDft
** 函數功能:按默認值初始化串口2的引腳和通訊參數。設置為8位數據位,1位停止位,無奇偶校驗,波特率
** 入口參數:無 
** 出口參數:無
**********************************************************************************************************/
void UART2_Ini(void)
{
	uint32 	Fdiv = 0;
	PCONP |= (1 << 24);						// 打開UART2

	/* 初始化相關的I/O口 */
//	PINSEL0 |= (0x01 << 20) | (0x01 << 22);	// 設置P0.10和P0.11管腳連接到UART2
	PINSEL0 = (PINSEL0 & 0xFF0FFFFF) | (0x05 << 20);
	
	/* 初始化串口通訊參數 */
	U2LCR 	= 0x83;							// 設置為8位數據位,1位停止位,無奇偶校驗,DLAB=1,允許設置波特率
	Fdiv 	= (Fpclk / 16) / UARTBAUD;		// 設置波特率
	U2DLM 	= Fdiv / 256;
	U2DLL 	= Fdiv % 256;
	U2LCR 	= 0x03;							// 令DLAB位為0

	/* 設置FIFO */
//   	U2FCR  	 = 0x05;					    // 使能FIFO,并設置FIFO觸發深度大小為1個字節
	U2FCR  	 = 0x04;					    // 使能FIFO,并設置FIFO觸發深度大小為1個字節
	
	/* 清除接收FIFO內的數據 */
	ClrU2RcvFIFO();
	
	/* 初始化UART1 VIC 中斷接口 */
    VICIntEnClr  |= 1 << UART2_INT;	
    	
	VICVectPri28   = 0x06;					
	VICVectAddr28  = (uint32)IRQ_UART2Recv;	
//	VICVectAddr28  = (uint32)IRQ_UART2Send;	
	
	VICIntEnable |= 1 << UART2_INT;		
	IRQEnable();

//	U1FCR 	&= ~0x07;						// 禁用FIFO
//  U1IER 	&= ~0x07;						// 禁止UART產生中斷

	/*	以下語句設置小數分頻系數為0.5	*/
#if		FDR
  	U2FDR  = (1 << 0) |						// DIVADDVAL=1
			 (1 << 4);						// MULVAL=1	
#endif

}

/*
void UART2_IniDft(void)
{
	uint32 	Fdiv = 0;
	
	PCONP  |= 1 << 24;						// 打開UART2
	// 初始化相關的I/O口 
	PINSEL0 = (0x01 << 20) | (0x01 << 22);	// 設置P0.10和P0.11管腳連接到UART2	
	
	// 初始化串口通訊參數 
	U2LCR 	= 0x83;							// 設置為8位數據位,1位停止位,無奇偶校驗,DLAB=1,允許設置波特率
	Fdiv 	= (Fpclk / 16) / UARTBAUD;		// 設置波特率
	U2DLM 	= Fdiv / 256;
	U2DLL 	= Fdiv % 256;
	U2LCR 	= 0x03;							// 令DLAB位為0

	U2FCR  &= ~0x07;						// 禁用FIFO
    U2IER  &= ~0x07;						// 禁止UART產生中斷

	//	以下語句設置小數分頻系數為0.5	
#if		FDR
  	U2FDR  = (1 << 0) |						// DIVADDVAL=1
			 (1 << 4);						// MULVAL=1	
#endif
}
*/
/*********************************************************************************************************
** 函數名稱:UART3_IniDft
** 函數功能:按默認值初始化串口3的引腳和通訊參數。設置為8位數據位,1位停止位,無奇偶校驗,波特率
** 入口參數:無 
** 出口參數:無
**********************************************************************************************************/
void UART3_Ini(void)
{
	uint32 	Fdiv = 0;
	PCONP  |= 1 << 25;						// 打開UART3

	/* 初始化相關的I/O口 */
//	PINSEL0 = (0x02 << 0) | (0x02 << 2);		// 設置P0.0和P0.1連接到UART3
	PINSEL0 = (PINSEL0 & 0xFFFFFFF0) | (0x0A << 0);
	
	/* 初始化串口通訊參數 */
	U3LCR 	= 0x83;							// 設置為8位數據位,1位停止位,無奇偶校驗,DLAB=1,允許設置波特率
	Fdiv 	= (Fpclk / 16) / UARTBAUD;		// 設置波特率
	U3DLM 	= Fdiv / 256;
	U3DLL 	= Fdiv % 256;
	U3LCR 	= 0x03;							// 令DLAB位為0

	/* 設置FIFO */
//   	U3FCR  	 = 0x05;					    // 使能FIFO,并設置FIFO觸發深度大小為1個字節
	U3FCR  	 = 0x04;					    // 使能FIFO,并設置FIFO觸發深度大小為1個字節
	
	/* 清除接收FIFO內的數據 */
	ClrU3RcvFIFO();
	
	/* 初始化UART1 VIC 中斷接口 */
    VICIntEnClr  |= 1 << UART3_INT;	
    	
	VICVectPri29   = 0x06;					
	VICVectAddr29  = (uint32)IRQ_UART3Recv;	
//	VICVectAddr29  = (uint32)IRQ_UART3Send;	
	
	VICIntEnable |= 1 << UART3_INT;		
	IRQEnable();

//	U1FCR 	&= ~0x07;						// 禁用FIFO
//  U1IER 	&= ~0x07;						// 禁止UART產生中斷

	/*	以下語句設置小數分頻系數為0.5	*/
#if		FDR
  	U3FDR  = (1 << 0) |						// DIVADDVAL=1
			 (1 << 4);						// MULVAL=1	
#endif

}
/*
void UART3_IniDft(void)
{
	uint32 	Fdiv = 0;
	PCONP  |= 1 << 25;						// 打開UART3
	
	// 初始化相關的IO 
	//PINSEL9 = (0x03 << 24) | (0x03 << 26);	// 設置P4.28和P4.29連接到UART3
	PINSEL0 = (0x02 << 0) | (0x02 << 2);		// 設置P0.0和P0.1連接到UART3
	
	// 初始化串口通訊參數 
	U3LCR 	= 0x83;							// 設置為8位數據位,1位停止位,無奇偶校驗,DLAB=1,允許設置波特率
	Fdiv 	= (Fpclk / 16) / UARTBAUD;		// 設置波特率
	U3DLM 	= Fdiv / 256;
	U3DLL 	= Fdiv % 256;
	U3LCR 	= 0x03;							// 令DLAB位為0

	U3FCR  &= ~0x07;						// 禁用FIFO
    U3IER  &= ~0x07;						// 禁止UART產生中斷

	//	以下語句設置小數分頻系數為0.5	
#if		FDR
  	U3FDR  = (1 << 0) |						// DIVADDVAL=1
			 (1 << 4);						// MULVAL=1	
#endif
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区精品视频| 成人毛片视频在线观看| 欧美电影免费观看高清完整版在| 成人午夜av电影| 国产二区国产一区在线观看| 国产亚洲欧美色| 欧美高清激情brazzers| 欧美日韩成人在线一区| 欧美日韩激情在线| 91成人在线精品| 在线观看欧美精品| 欧美图区在线视频| 欧美一区二区三区视频免费| 日韩欧美国产电影| 久久综合久久久久88| 久久蜜臀精品av| 欧美国产精品一区二区| 国产精品久久99| 亚洲欧美日韩在线| 亚洲欧美另类久久久精品2019| 成人免费在线播放视频| 亚洲国产精品一区二区久久恐怖片 | 欧美日韩久久不卡| 欧美一级淫片007| 久久精品一区蜜桃臀影院| 亚洲欧美怡红院| 亚洲综合色成人| 蜜桃一区二区三区在线观看| 国产精选一区二区三区| 色综合视频在线观看| 欧美日韩成人激情| 欧美电影精品一区二区| 亚洲人成影院在线观看| 肉肉av福利一精品导航| 天天色综合天天| 岛国av在线一区| 欧美日韩成人激情| 国产精品国产三级国产普通话三级| 一区二区三区精品在线| 精品一区二区三区不卡| 91久久精品一区二区二区| 日韩精品一区二区三区中文不卡 | 亚洲午夜免费视频| 久久不见久久见免费视频7 | 91色乱码一区二区三区| 欧美成人国产一区二区| 综合av第一页| 九九在线精品视频| 欧美日韩久久久| 中文字幕中文字幕中文字幕亚洲无线| 午夜精品成人在线| 国产九九视频一区二区三区| 欧美挠脚心视频网站| 国产精品传媒入口麻豆| 日韩av网站免费在线| 成人妖精视频yjsp地址| 337p亚洲精品色噜噜狠狠| 亚洲欧美在线高清| 国产成人免费在线视频| 欧美久久久久久久久久| 亚洲第一电影网| 岛国av在线一区| 欧美国产精品一区二区| 国产成人精品一区二| 日韩欧美激情一区| 蜜臀av一区二区在线免费观看 | 亚洲黄色在线视频| 欧洲精品在线观看| 亚洲人成精品久久久久| 成人精品一区二区三区中文字幕| 欧美xxxxx裸体时装秀| 日韩精品三区四区| 欧美三级电影一区| 亚洲国产综合91精品麻豆 | 亚洲最大成人网4388xx| av福利精品导航| 国产精品每日更新在线播放网址| 免费高清成人在线| 欧美精品久久一区二区三区 | 欧美日韩电影一区| 亚洲午夜久久久久久久久电影院| 99久久亚洲一区二区三区青草| 国产午夜亚洲精品午夜鲁丝片 | 国产精品一品二品| 精品国产一区二区亚洲人成毛片| 午夜激情综合网| 欧美巨大另类极品videosbest| 日韩黄色一级片| 日韩一卡二卡三卡国产欧美| 理论电影国产精品| 久久久久久麻豆| 高清shemale亚洲人妖| 日本一区二区三区四区| 国产成人精品午夜视频免费| 欧美精品一区二区三区四区| 捆绑紧缚一区二区三区视频| 精品成a人在线观看| 国产一区视频导航| 国产精品素人视频| 欧美日韩久久一区二区| 精品一区二区三区av| 久久亚洲二区三区| 99久久免费国产| 视频一区中文字幕国产| 久久久亚洲国产美女国产盗摄 | 欧美日韩在线不卡| 看电影不卡的网站| 亚洲欧美日韩国产综合在线| 777a∨成人精品桃花网| 成人自拍视频在线观看| 亚洲成在线观看| 国产亚洲综合在线| 欧美精品九九99久久| 成人精品一区二区三区四区 | 成人av电影在线网| 亚洲二区在线视频| 国产欧美精品国产国产专区 | 天天做天天摸天天爽国产一区 | 国产精品久久一卡二卡| 91麻豆国产精品久久| 蜜臀a∨国产成人精品| 国产精品国产成人国产三级| 欧美精品久久一区| aaa亚洲精品| 蜜桃一区二区三区在线观看| 国产精品久久久久久久裸模 | 久久9热精品视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 亚洲三级电影网站| 欧美变态tickle挠乳网站| 在线亚洲人成电影网站色www| 国产乱人伦偷精品视频不卡| 日韩精品每日更新| 一区二区三区四区av| 国产日韩一级二级三级| 欧美一区二区三区系列电影| 色噜噜狠狠成人中文综合 | 国产成人夜色高潮福利影视| 午夜视频一区在线观看| 日韩欧美电影一二三| 色妹子一区二区| av毛片久久久久**hd| 成人免费高清在线| 精品一区二区三区在线播放视频| 午夜精品福利视频网站| 亚洲国产一区二区三区青草影视| 中文字幕中文乱码欧美一区二区| 久久午夜免费电影| 久久精品一区二区| 精品国产一区久久| 久久天天做天天爱综合色| 日韩一级精品视频在线观看| 欧美日韩在线不卡| 欧美日韩久久久一区| 欧美日韩综合在线| 欧美巨大另类极品videosbest | 日韩中文字幕亚洲一区二区va在线| 最好看的中文字幕久久| 亚洲视频在线观看一区| 中文字幕佐山爱一区二区免费| 欧美激情中文字幕一区二区| 国产精品久久三区| 自拍偷拍亚洲综合| 亚洲第一综合色| 美女一区二区视频| 韩国一区二区三区| 成人精品国产福利| 91美女蜜桃在线| 91麻豆精品国产| 久久综合精品国产一区二区三区| 久久久久国产免费免费| 国产精品入口麻豆原神| 日韩毛片一二三区| 亚洲成人黄色影院| 久色婷婷小香蕉久久| 国产一区二区三区四区五区入口| 国产精品一区久久久久| 成人黄色在线看| 欧洲国内综合视频| 欧美另类一区二区三区| 欧美mv和日韩mv的网站| 国产精品每日更新在线播放网址 | 久久精品视频网| 亚洲丝袜美腿综合| 图片区小说区国产精品视频| 国产毛片精品一区| 欧美三级蜜桃2在线观看| 精品欧美久久久| 国产精品色在线观看| 亚洲成人自拍网| 国产精品自在在线| 欧美色大人视频| 久久久久久久久久久99999| 中文字幕日韩一区| 热久久久久久久| 91论坛在线播放| 久久看人人爽人人| 亚洲国产aⅴ成人精品无吗| 国产精品91xxx| 欧美天天综合网|