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

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

?? uart.c

?? samsung 2410 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;
		}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久久影院| 91老师国产黑色丝袜在线| 欧美视频第二页| 一区二区三区精密机械公司| 色综合婷婷久久| 亚洲国产综合视频在线观看| 欧美美女一区二区三区| 免费的国产精品| ww久久中文字幕| 成人午夜免费视频| 亚洲综合成人在线视频| 日韩一级完整毛片| 成人高清免费观看| 午夜精品久久久久久不卡8050| 91 com成人网| 成人高清视频在线观看| 亚洲成在线观看| 26uuu另类欧美亚洲曰本| 成人动漫精品一区二区| 亚洲一级二级三级| 久久综合久久综合久久| 色综合色综合色综合| 免费观看30秒视频久久| 亚洲免费视频中文字幕| 欧美tickling挠脚心丨vk| 91免费观看在线| 激情五月婷婷综合| 国产精品理论在线观看| 日韩一二三四区| 91在线视频免费91| 日本成人在线不卡视频| 久久久久久久久久久电影| 欧美亚洲一区二区在线| 国产黑丝在线一区二区三区| 亚洲成a天堂v人片| 国产精品美女久久久久久| 日韩视频免费观看高清完整版| 99在线精品视频| 狠狠色综合播放一区二区| 婷婷六月综合网| 亚洲精品国久久99热| 国产精品午夜在线观看| 欧美电影免费观看高清完整版在线 | 久久这里只有精品首页| 欧美色窝79yyyycom| 91天堂素人约啪| 激情文学综合丁香| 日韩综合小视频| 一区二区三区中文免费| 国产欧美日韩精品一区| 欧美一区二区三区啪啪| 欧美午夜理伦三级在线观看| 丁香五精品蜜臀久久久久99网站 | 亚洲欧洲综合另类在线| 中文字幕国产一区| 久久精品免费在线观看| 精品不卡在线视频| 欧美变态tickle挠乳网站| 欧美老肥妇做.爰bbww| 色噜噜久久综合| 91网站最新地址| av午夜精品一区二区三区| 懂色中文一区二区在线播放| 国内偷窥港台综合视频在线播放| 美腿丝袜在线亚洲一区| 久久激情五月激情| 另类综合日韩欧美亚洲| 久久精品国产网站| 国产一区二区在线看| 极品尤物av久久免费看| 韩国av一区二区三区四区| 国产成人夜色高潮福利影视| 国产不卡视频在线观看| 国产91精品久久久久久久网曝门| 国产成人精品免费网站| 成人免费看的视频| 色哟哟国产精品免费观看| 在线免费亚洲电影| 在线免费精品视频| 4438亚洲最大| 国产三级精品在线| 椎名由奈av一区二区三区| 亚洲摸摸操操av| 亚洲一区电影777| 日韩成人免费电影| 国产美女在线精品| 色婷婷精品久久二区二区蜜臂av | av电影在线不卡| 91传媒视频在线播放| 欧美一区二区三级| 欧美大胆一级视频| 国产精品久久久久影视| 亚洲自拍与偷拍| 美女一区二区三区| 99国产麻豆精品| 欧美一区二区三区啪啪| 中文字幕一区在线观看视频| 一个色妞综合视频在线观看| 久久精品国产精品青草| 一本一本大道香蕉久在线精品 | 制服视频三区第一页精品| 欧美一级黄色片| 国产精品成人免费| 美腿丝袜在线亚洲一区| av在线这里只有精品| 欧美猛男男办公室激情| 久久久亚洲精品一区二区三区| 国产精品久久国产精麻豆99网站| 天天综合天天做天天综合| 国产91露脸合集magnet| 3d成人动漫网站| 亚洲在线一区二区三区| 成人小视频免费观看| 日韩免费观看2025年上映的电影| 国产精品全国免费观看高清| 亚洲国产美女搞黄色| 国产一区二区三区日韩| 色天使色偷偷av一区二区| 国产亚洲一区二区三区四区 | 免费一级片91| av亚洲精华国产精华精华 | 26uuu精品一区二区| 亚洲一区视频在线观看视频| 国产91对白在线观看九色| 欧美大片在线观看一区二区| 午夜久久久久久久久| 色综合久久66| 亚洲男同1069视频| 国产成人一级电影| 精品日韩一区二区| 青娱乐精品在线视频| 欧美日韩激情一区二区三区| 一区二区三区欧美亚洲| 91成人免费在线视频| 亚洲日本在线天堂| 91在线免费播放| 亚洲美女偷拍久久| 色婷婷av一区二区三区软件| 日韩美女视频一区二区| 色拍拍在线精品视频8848| 亚洲激情五月婷婷| 91福利国产成人精品照片| 亚洲一区在线视频观看| 欧美视频中文一区二区三区在线观看| 自拍偷拍国产亚洲| 在线观看日韩一区| 亚洲国产成人va在线观看天堂| 欧美在线观看视频一区二区| 亚洲在线成人精品| 欧美精品欧美精品系列| 日本欧美一区二区| 日韩一区二区三区在线视频| 日韩在线卡一卡二| 日韩视频一区二区在线观看| 麻豆一区二区三区| 国产欧美一区视频| 99久久精品国产精品久久| 亚洲黄色免费网站| 欧美一区二区三区四区久久| 久久国产麻豆精品| 欧美国产激情一区二区三区蜜月| 不卡视频在线观看| 亚洲综合一区二区三区| 日韩视频在线一区二区| 国产精品99久久久久久有的能看 | 99国产欧美另类久久久精品| 一区二区日韩电影| 91精品国产一区二区| 国产老妇另类xxxxx| 中文字幕亚洲精品在线观看 | 日韩av中文字幕一区二区| 日韩欧美国产1| 成人免费观看av| 日韩vs国产vs欧美| 国产精品久久看| 欧美老人xxxx18| 成人性生交大片免费看中文 | 成人免费在线观看入口| 91久久国产最好的精华液| 麻豆国产欧美日韩综合精品二区| 国产精品网站一区| 欧美一区二区高清| 91在线看国产| 九九九精品视频| 亚洲你懂的在线视频| 久久久久久久久久久电影| 欧美日韩精品一区二区三区| 高清不卡一二三区| 奇米色一区二区| 樱花影视一区二区| 久久久蜜臀国产一区二区| 欧美酷刑日本凌虐凌虐| 91麻豆蜜桃一区二区三区| 黄色小说综合网站| 亚瑟在线精品视频| 国产精品青草久久| 国产日韩欧美a| 91精品国产一区二区三区 | 亚洲.国产.中文慕字在线| 国产精品不卡视频|