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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uart.c

?? 三星給予ARM920T內(nèi)核的S3C2413的demo版本
?? C
字號:
//====================================================================
// File Name : rtc.c
// Function  : S3C2413 RTC Test Program
// Date      : Sep. 27, 2005
// Version   : 0.0
// History
//   0.0 : Programming start (Sep. 27, 2005)
//====================================================================


#include <stdio.h>
#include <stdlib.h>

#include "2413addr.h"
#include "System.h"
#include "Exception.h"
#include "Console.h"
#include "def.h"
#include "Uart.h"

#define NP	0	// No Parity
#define OP	4	// Odd Parity
#define EP	5	// Even Parity
#define PF1	6	// Parity force 1
#define PF0	7	// Parity force 0

typedef struct tagUART
{
    volatile U32 ULCON;		//0x0
    volatile U32 UCON;		//0x4
    volatile U32 UFCON;		//0x8
    volatile U32 UMCON;		//0xc
    volatile U32 UTRSTAT;    //0x10	Read Only
    volatile U32 UERSTAT;    //0x14	Read Only
    volatile U32 UFSTAT;      //0x18	Read Only
    volatile U32 UMSTAT;     //0x1c	Read Only
    volatile U32 UTXH;	      //0x20	Write Only
    volatile U32 URXH;	      //0x24	Read Only
    volatile U32 UBRDIV;      //0x28
    volatile U32 UDIVSLOT;  //0x2c
}UART;

UART *pUART;

const unsigned int nSlotTable[16] = {0x0000, 0x0080, 0x0808, 0x0888, 0x2222, 0x4924, 0x4a52, 0x54aa,
				     				0x5555, 0xd555, 0xd5d5, 0xddd5, 0xdddd, 0xdfdd, 0xdfdf, 0xffdf};

U32 saved_rGPHCON, saved_rGPHDAT, saved_rGPHDN;
U32 saved_ULCON, saved_UCON, saved_UFCON, saved_UMCON, saved_UBRDIV, saved_UDIVSLOT;

static S8 TestString[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART0 Tx interrupt test is First!!!!\rABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART0 Tx interrupt test is Second!!!!\rABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART0 Tx interrupt test is Third!!!!\r\n";	

volatile S8 *uartTxStr, *uartRxStr;

void * uart_func[][2]=
{
	(void *)Uart_Intrrupt_Tx_Fifo,			"Uart Interrupt Tx FIFO",
	0,0
};

void Ch10_UART(void)
{
	int i=0;
	
	while(1) {
		printf("\n");
		while(1) {   //display menu
		    	printf("%2d:%s",i,uart_func[i][1]);
		    	i++;
	    		if((int)(uart_func[i][0])==0) {
				printf("\n");
				break;
		    	}
		    	if((i%4)==0) printf("\n");
		}
		printf("\nSelect(-1 to exit): ");
		i = GetIntNum();

		if(i==-1) break;

		if(i>=0 && (i<(sizeof(uart_func)/4)) ) 
	    	( (void (*)(void)) (uart_func[i][0]) )();	// execute selected function.
	}
}

void Uart_Intrrupt_Tx_Fifo(void)
{
	Uart_Port_Init();		// GPIO port init.
	Uart_Select(0);

	uartTxStr=TestString;	// Tx Data Init.

	Uart_Line_Set(NP,1,8);	// No Parity, One stop bit, Data 8 bit
	Uart_Baud_Rate_Set(115200);
#if 0
	
	Uart_Select(0);
	pUART->UCON = (0x1<<9);					// Tx = Level
	
	Uart_Baud_Rate_Set();
	Uart_Mode_Set(INTORPOL,DISABLE);

	pUART->UFCON = (2<<6)|(1<<4)|(3<<1)|(1);	// Fifo Clear, Fifo Enable
	pUART->UMCON = (0<<4);					// AFC Disable

	pISR_UART0 = (U32)UART0_Tx_ISR;
	
	rINTMSK &= ~(BIT_UART0);
	rINTSUBMSK &= ~(BIT_SUB_TXD0);
	
	TxDone=1;
	while(TxDone);
	while(pUART->UTRSTAT!=0x6);

	rINTMSK &= ~(BIT_UART0);
	rINTSUBMSK &= ~(BIT_SUB_TXD0);

#endif
	Uart_Port_Return(0);
}

void Uart_Baud_Rate_Set(U32 bps)
{
	int DIV_VAL, nSlot;
	int UClk;
	float tempDiv;

	switch((pUART->UCON >>10)&0x3) {
		case 0:
		case 2:
			SystemCLK();
			UClk=PCLK;
			break;
		case 1:
			printf("UEXTCLK must be set\n");	while(1);
			break;
		case 3:
			SystemCLK();
			UClk=UARTCLK;
			break;
		}

	DIV_VAL = ( (int)(UClk/16./bps+0.5) -1 );   //Baud rate divisior
	nSlot = (int)((DIV_VAL - (int)DIV_VAL) * 16);

	pUART->UBRDIV = DIV_VAL;
	pUART->UDIVSLOT = nSlotTable[nSlot];
}

void Uart_Line_Set(U32 ParityMode, U32 StopBitNum, U32 DataBitNum)
{
	pUART->ULCON = 0;
	pUART->ULCON = (ParityMode<<3)|((StopBitNum-1)<<2)|(DataBitNum-5);
}

void Uart_Port_Init(void)
{
	saved_rGPHCON=rGPHCON;			// GPIO Configuration Backup
	saved_rGPHDAT=rGPHDAT;
	saved_rGPHDN=rGPHDN;

	rGPHCON = (rGPHCON&~(0xfff))|(0xaaa);	// GPIO -> RXD 0,1,2 TXD 0,1,2
	rGPHDN = 0x7fff;						// Pull-down Disable
	printf("Uart Port Init\n");
}

void Uart_Select(U32 ch)
{
	switch(ch) {
		case 0:
			pUART = (void *)(0x50000000);
			printf("Uart0 is selected\n");
			break;
		case 1:
			pUART = (void *)(0x50004000);
			printf("Uart1 is selected\n");
			break;
		case 2:
			pUART = (void *)(0x50008000);
			printf("Uart2 is selected\n");
			break;
		default:
			printf("[Error] Select Uart\n");
			while(1);
		}

	if(ch==1) {	// Uart1 Configuration backup for DNW Monitoring
		saved_ULCON = pUART->ULCON;
		saved_UCON = pUART->UCON;
		saved_UFCON = pUART->UFCON;
		saved_UMCON = pUART->UMCON;
		saved_UBRDIV = pUART->UBRDIV;
		saved_UDIVSLOT = pUART->UDIVSLOT;
		}
}

void Uart_Port_Return(U32 ch)
{
	rGPHCON=saved_rGPHCON;	// GPIO Configuration Recovery
	rGPHDAT=saved_rGPHDAT;
	rGPHDN=saved_rGPHDN;

	if(ch==1) {	// Uart1 Configuration recovery for DNW Monitoring
		 pUART->ULCON = saved_ULCON;
		 pUART->UCON = saved_UCON;
		 pUART->UFCON = saved_UFCON;
		 pUART->UMCON = saved_UMCON;
		 pUART->UBRDIV = saved_UBRDIV;
		 pUART->UDIVSLOT = saved_UDIVSLOT;
		}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久一本精品 | 欧美老肥妇做.爰bbww视频| 欧美日韩第一区日日骚| 日韩美女视频在线| 国产精品成人午夜| 亚洲成精国产精品女| 精品一区二区在线播放| av一本久道久久综合久久鬼色| 欧美网站大全在线观看| 精品国产3级a| 亚洲精品免费在线观看| 免费观看久久久4p| 91丨porny丨蝌蚪视频| 有坂深雪av一区二区精品| 日本不卡的三区四区五区| 成人激情动漫在线观看| 欧美丰满美乳xxx高潮www| 中文子幕无线码一区tr| 亚洲va在线va天堂| 高清在线不卡av| 91麻豆精品国产91久久久更新时间| 久久久久久久国产精品影院| 亚洲一区二区三区免费视频| 国产麻豆91精品| 欧美久久一二区| 亚洲日本一区二区三区| 久久精品国产精品亚洲红杏| 日本精品免费观看高清观看| 久久精品免费在线观看| 午夜日韩在线观看| 不卡av电影在线播放| 欧美一卡二卡在线观看| 亚洲美女淫视频| 成熟亚洲日本毛茸茸凸凹| 日韩一区二区免费在线观看| 一区二区成人在线| 懂色av中文字幕一区二区三区| 欧美妇女性影城| 亚洲卡通动漫在线| 成人午夜视频福利| 欧美成人性战久久| 日韩精品一级中文字幕精品视频免费观看 | 九色porny丨国产精品| 91精品办公室少妇高潮对白| 国产三级久久久| 欧美人与禽zozo性伦| 亚洲男人天堂av网| 成人精品视频一区二区三区| 久久久噜噜噜久噜久久综合| 日本在线播放一区二区三区| 日本韩国欧美一区| 亚洲欧洲日产国码二区| 国产真实精品久久二三区| 日韩亚洲电影在线| 婷婷综合五月天| 欧美日韩国产首页| 亚洲一区二区三区在线播放| 99国产精品久久| 国产精品你懂的在线欣赏| 韩国一区二区视频| 日韩欧美亚洲国产另类| 免费看黄色91| 欧美一级搡bbbb搡bbbb| 三级久久三级久久久| 91成人免费在线| 亚洲在线一区二区三区| 一本久久a久久免费精品不卡| 日韩美女视频19| 99久久国产免费看| 亚洲欧美日韩国产综合在线| bt7086福利一区国产| 亚洲欧美在线视频观看| www.亚洲免费av| 国产精品美女久久久久aⅴ国产馆| 国产一区二区三区蝌蚪| 国产欧美日韩视频在线观看| 国模套图日韩精品一区二区| 欧美变态口味重另类| 黄色日韩网站视频| 久久久国产精品麻豆| 国产精品77777竹菊影视小说| 国产欧美日韩久久| 国产成人精品影视| 亚洲欧洲韩国日本视频| 色诱视频网站一区| 亚洲超碰精品一区二区| 日韩午夜在线影院| 国产最新精品精品你懂的| 久久精品亚洲国产奇米99| 风流少妇一区二区| 亚洲欧美自拍偷拍色图| 欧美日韩一区不卡| 麻豆91在线播放免费| 久久精品夜夜夜夜久久| av在线不卡免费看| 亚洲香蕉伊在人在线观| 制服丝袜国产精品| 国产毛片精品一区| 亚洲色图19p| 制服视频三区第一页精品| 精品一区二区三区视频| 最新高清无码专区| 欧美日韩高清一区二区不卡| 精品综合免费视频观看| 国产精品久久久久桃色tv| 在线观看亚洲一区| 久久精品国产亚洲一区二区三区| 日本一区二区免费在线 | 亚洲综合清纯丝袜自拍| 欧美一区二区三区播放老司机| 九九九久久久精品| 日韩毛片视频在线看| 欧美一区二区三区在线观看 | 国产人妖乱国产精品人妖| 91浏览器打开| 奇米在线7777在线精品| 国产亚洲美州欧州综合国| 在线精品国精品国产尤物884a| 久久精品国产99久久6| 亚洲日本在线天堂| 日韩欧美视频一区| 色综合av在线| 激情久久久久久久久久久久久久久久| 136国产福利精品导航| 91精品国产综合久久久蜜臀粉嫩 | 国产精品色在线观看| 欧美男男青年gay1069videost | 国产精品美女久久福利网站| 欧美丝袜丝交足nylons图片| 国产寡妇亲子伦一区二区| 亚洲国产成人精品视频| 国产视频一区二区在线| 在线成人小视频| 99久久精品免费观看| 久久精品国产亚洲高清剧情介绍| 亚洲欧洲制服丝袜| 国产日韩av一区| 制服丝袜在线91| 91免费版pro下载短视频| 久久99国产精品尤物| 亚洲综合小说图片| 国产精品福利一区| 欧美r级电影在线观看| 欧美三区在线视频| 91在线无精精品入口| 国产精品自在在线| 天堂精品中文字幕在线| 亚洲精品高清视频在线观看| 国产欧美日韩精品a在线观看| 91精品国产综合久久精品性色| 9i在线看片成人免费| 黄色日韩网站视频| 欧美bbbbb| 视频一区二区三区入口| 亚洲老妇xxxxxx| 中文字幕乱码亚洲精品一区| 精品噜噜噜噜久久久久久久久试看 | 日韩你懂的在线观看| 欧美视频一区在线观看| 91亚洲精华国产精华精华液| 丁香一区二区三区| 国产一区二区主播在线| 久久99久久久欧美国产| 天天做天天摸天天爽国产一区| 日韩一区有码在线| 国产精品免费aⅴ片在线观看| 久久综合久色欧美综合狠狠| 日韩一区二区三区精品视频| 欧美高清视频在线高清观看mv色露露十八 | 正在播放亚洲一区| 一本色道久久加勒比精品| 成人精品国产一区二区4080| 国产精品亚洲一区二区三区在线| 精品一区免费av| 激情综合色丁香一区二区| 日本在线不卡视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 三级久久三级久久| 日韩国产一区二| 免费成人在线影院| 久久精品理论片| 国产一区不卡在线| 国产精品一区二区不卡| 国产成人免费视频一区| 国产不卡免费视频| 成人精品小蝌蚪| 91蜜桃免费观看视频| 日本韩国精品一区二区在线观看| 色香色香欲天天天影视综合网| 色婷婷综合久久久久中文一区二区 | 久久婷婷色综合| 国产亚洲欧洲一区高清在线观看| 国产欧美一区二区精品性色超碰| 国产日韩精品视频一区| 中文字幕在线观看不卡| 一区二区在线观看不卡| 亚洲一卡二卡三卡四卡无卡久久 | 欧美吻胸吃奶大尺度电影| 欧美丰满一区二区免费视频| 欧美一区二区三区人|