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

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

?? uart1.c

?? ARM7 SPI RC531驅(qū)動(dòng)程序,數(shù)據(jù)手冊(cè)
?? C
字號(hào):
/****************************************Copyright (c)**************************************************
**                                   
**                                    
**                                        
**
**                                 
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: Uart1.c
**創(chuàng)   建   人: 李功周
**最后修改日期: 2008年10月31日
**描        述: Uart API 函數(shù) 
**              
**--------------歷史版本信息----------------------------------------------------------------------------
** 創(chuàng)建人: 李功周
** 版  本: v1.0
** 日 期: 2008年10月31日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
*/
#include <LPC2103.H>
#include "../confing/config.h"
#include "../SPK/SPK.h"


#define		OutTime			1									//讀數(shù)據(jù)時(shí)的等待時(shí)間
#define		ReadBuffLen		64									//接收緩沖長(zhǎng)度

volatile unsigned char Uart1Sending = 0 ;
volatile int  Uart1ReaddataLen = 0 ;							//數(shù)據(jù)長(zhǎng)度
volatile unsigned char Uart1Readdata[ReadBuffLen];				//接收緩沖
volatile int  Uart1InAddr = 0 ;									//接收地址
volatile int  Uart1OutAddr = 0 ;								//讀地址
volatile unsigned char Uart1OverData;							//益出數(shù)據(jù)
volatile unsigned char Uart1BuffOver = 0;						//益出標(biāo)志



/****************************************************************************
* 名稱:UART1_Exception()
* 功能:UART1中斷服務(wù)程序。
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
* 說(shuō)明:
****************************************************************************/
void __irq  UART1_Exception(void)
{
	unsigned char IIR;
	while(((IIR=U1IIR) & 0x01) == 0)
    {  
		switch (IIR & 0x0e)
        {
			case 0x00:                                  	// Modem狀態(tài)變化中斷
			
				break;
			case 0x02://發(fā)送中斷
                     	Uart1Sending = 0 ;    
             	break;
			case 0x04:                                  	// 接收數(shù)據(jù)可用
					//	SpkOnTime(0);
                		if(Uart1BuffOver)
						{
							Uart1OverData = U1RBR ; 		
						}
						else
						{
							Uart1Readdata[Uart1InAddr++] = U1RBR;
							Uart1ReaddataLen++;
							if(Uart1InAddr == ReadBuffLen)
						 	{
								Uart1InAddr = 0;	
							}
							if(Uart1InAddr == Uart1OutAddr)
							{
								Uart1BuffOver = 1;		
							}		
						}
                break;
			case 0x06:                                  	// 接收線狀態(tài)
			//SpkOnTime(100);
                IIR = U1LSR;
			case 0x0c:     
			//SpkOnTime(100);                             	// 字符超時(shí)指示
                IIR=U0RBR;                       			// 禁止接收及字符超時(shí)中斷
                break;
			default :  IIR=U0RBR;
			//SpkOnTime(100);
             	break; 
		}	
	}
	 VICVectAddr = 0;      		// 通知中斷控制器中斷結(jié)束
}



/****************************************************************************
* 名    稱:Uart1_SendByte
* 功    能:Uart0發(fā)送一個(gè)字節(jié)。
* 入口參數(shù):Data 發(fā)送的數(shù)據(jù)
* 出口參數(shù):無(wú)
*****************************************************************************/
void Uart1_SendByte(unsigned char Data)
{
	while(Uart1Sending);
    U1THR=Data;
	Uart1Sending = 1 ;
}



/****************************************************************************
* 名    稱:Uart1_SendStr
* 功    能:Uart0發(fā)送一個(gè)字符串。
* 入口參數(shù):Data 發(fā)送的數(shù)據(jù),
			len  發(fā)送的長(zhǎng)度
* 出口參數(shù):無(wú)
*****************************************************************************/
void Uart1_SendStr(unsigned char *Data,int len)
{
	int i = 0;
	for( i = 0 ; i < len ; i++ )
	{
		while(Uart1Sending);
	    U1THR=Data[i];
		Uart1Sending = 1 ;
	}
}




/****************************************************************************
* 名    稱:Uart1_ReadByte
* 功    能:接收字符串。
* 入口參數(shù):Data 接收到的數(shù)據(jù)
			overtime 超時(shí)時(shí)間 0 直接返回 負(fù)數(shù)一直等待
* 出口參數(shù):1 有數(shù)據(jù), 0 沒(méi)有數(shù)據(jù)
*****************************************************************************/
unsigned char Uart1_ReadByte(unsigned char * Data,int overtime)
{
	int i = 0;
	int j = 0;
	if(overtime==0)
	{
		if(Uart1ReaddataLen!=0)
		{
			goto Uart1_ReadByte1;
		}
		else
		{
			
			return 0;
		}
	}
	if(overtime > 0)
	{
		i = 0;
		while( i < overtime )
		{
			for( j = 0 ; j < 1010 ; j++ );
			if(Uart1ReaddataLen!=0)
			{
				goto Uart1_ReadByte1;	
			}
			i++;										
		}
		if(i>=OutTime)
		{
			return 0;	
		}
	}
	else
	{
		while(Uart1ReaddataLen==0);
	}
Uart1_ReadByte1:
	*Data = Uart1Readdata[Uart1OutAddr++];
	if(Uart1OutAddr>=ReadBuffLen)
	{
		Uart1OutAddr = 0;
	}
	Uart1BuffOver = 0 ;
	Uart1ReaddataLen--;
	return 1;
}



/****************************************************************************
* 名    稱:Uart1_ReadStr
* 功    能:接收一個(gè)字節(jié)。
* 入口參數(shù):Data 接收到的數(shù)據(jù) 
			len  要接收的數(shù)據(jù)長(zhǎng)度
			overtime 超時(shí)時(shí)間 0 直接返回 負(fù)數(shù)一直等待
* 出口參數(shù):返回?cái)?shù)據(jù)長(zhǎng)度
*****************************************************************************/
int Uart1_ReadStr(unsigned char *Data,int len,int overtime)
{
	int i;
	i = 0 ;
	while( i < len )
	{		
		if(Uart1_ReadByte(&Data[i],overtime))
		{
			i++;			
			if(i==len)
			{
				return i ;
			}
		}
		else
		{
			return i ;
		}
	}
	return i;	
}




/****************************************************************************
* 名    稱:CheckBuff
* 功    能:查詢buff的狀態(tài)。
* 入口參數(shù):無(wú)
* 出口參數(shù):返回?cái)?shù)據(jù)長(zhǎng)度
*****************************************************************************/
unsigned int Uart1_CheckBuff(void)
{
	return Uart1ReaddataLen;
}



/****************************************************************************
* 名    稱:ClearBuff()
* 功    能:清除buff數(shù)據(jù)。
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
*****************************************************************************/
void Uart1_ClearBuff(void)
{
	Uart1ReaddataLen = 0;
	Uart1InAddr = 0 ;
	Uart1OutAddr = 0 ;
	Uart1BuffOver = 0 ;
}




/****************************************************************************
* 名    稱:Uart1_Init
* 功    能:Uart0初始化。
* 入口參數(shù):irq_enable =1 使用中斷
            uart_bps   波特率
            Parity="NMS" 效驗(yàn)方式
* 出口參數(shù):無(wú)
****************************************************************************/
int  Uart1_Init(unsigned int irq_enable,unsigned int uart_bps,unsigned char Parity)
{
    unsigned short Fdiv;
	unsigned char bak;
	
	if( (0==uart_bps)||(uart_bps>115200) ) 
    {
        return 1;
    } 
	
	
	if(irq_enable)
    {
        VICIntSelect &= ~(1<<7);                  			//uart1為IRQ中斷
        VICVectCntl9 = 0x20|7;                   			//uart1使用slot9
        VICVectAddr9 = (unsigned int) UART1_Exception;  	//中斷入口程序
        VICIntEnable |= (0x1<<7);                			//開(kāi)UART中斷
    }
    
	PINSEL0 = PINSEL0&(0xfff0ffff);
	PINSEL0 = PINSEL0|(0x00050000);
    U1LCR = 0x80;                                  	 		// 允許訪問(wèn)分頻因子寄存器 
    Fdiv = (Fpclk / 16) / uart_bps;                      	// 設(shè)置波特率 
    U1DLM = Fdiv / 256;							
	U1DLL = Fdiv % 256;	
	
	bak = 0;
	bak = 3;                      							//8位數(shù)據(jù)位 0->5 1->6 2->7 3->8
    bak |= 0x00;                  							//0->1位停止位 4->2
    if(Parity=='N')
    {
        bak|=0x00;                  						//0->無(wú)校驗(yàn) 8->有校驗(yàn)    
        bak|=0x00;                  						//0->奇 0x10->偶 0x20->M 0x30->S 
    }
    else if(Parity=='M')
    {
        bak|=0x08;                  						//0->無(wú)校驗(yàn) 8->有校驗(yàn)    
        bak|=0x20;                  						//0->奇 0x10->偶 0x20->M 0x30->S     
    }
    else if(Parity=='S')
    {
        bak|=0x08;                  						//0->無(wú)校驗(yàn) 8->有校驗(yàn)    
        bak|=0x30;                  						//0->奇 0x10->偶 0x20->M 0x30->S     
    }
	else
	{
		return 2;
	}
						
    U1LCR = bak;                                   			// 禁止訪問(wèn)分頻因子寄存器 
                                                    		// 且設(shè)置為8,1,n 
													
	U1FCR = 0x07;                        					// 使能FIFO,并設(shè)置觸發(fā)點(diǎn)為1字節(jié)
	
    bak=0;
    bak|=0x01;                              				// 允許RBR中斷,即接收中斷
    bak|=0x02;                              				// 允許THRE中斷,即發(fā)送中斷	
	
    U1IER = bak;   
	                                 						// 初始化FIFO 
    U1MCR = 0x00;
	
	return 0;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人啪免费观看软件| 国产精品久久久久婷婷二区次| 中文字幕视频一区| 岛国一区二区在线观看| 国产亚洲精品资源在线26u| 韩国在线一区二区| 久久久一区二区三区| 粉嫩绯色av一区二区在线观看| 国产欧美日韩视频一区二区 | 亚洲色图色小说| 91亚洲国产成人精品一区二三| 亚洲柠檬福利资源导航| 在线视频你懂得一区| 天天综合色天天综合色h| 日韩欧美在线综合网| 国产精品亚洲午夜一区二区三区 | 日韩专区欧美专区| 日韩免费高清视频| 99综合影院在线| 亚洲不卡一区二区三区| 日韩欧美国产三级| av一区二区不卡| 亚洲永久免费av| 日韩精品中文字幕在线不卡尤物| 国产一区二区电影| 亚洲精品视频一区二区| 欧美一级久久久久久久大片| 国产精品99久久久久久似苏梦涵| 亚洲欧美视频在线观看视频| 日韩欧美中文字幕一区| 91浏览器在线视频| 美女在线视频一区| 日韩码欧中文字| 欧美成人精品3d动漫h| 成人免费高清在线| 日本中文字幕一区二区视频 | 成人一区二区视频| 亚洲国产精品久久一线不卡| 国产三级精品在线| 日韩亚洲欧美中文三级| 99国产精品国产精品久久| 日韩精品成人一区二区三区 | 久久日一线二线三线suv| 色哟哟亚洲精品| 国产盗摄一区二区| 丝袜诱惑制服诱惑色一区在线观看| 国产视频在线观看一区二区三区| 欧美午夜宅男影院| 成人伦理片在线| 极品美女销魂一区二区三区| 亚洲主播在线播放| 欧美国产激情二区三区| 日韩一区二区电影网| 91福利视频网站| 成人av电影在线网| 韩国一区二区在线观看| 亚洲第一会所有码转帖| 亚洲欧洲99久久| 久久夜色精品国产噜噜av| 欧美丰满一区二区免费视频| 97se亚洲国产综合在线| 国产成人精品综合在线观看| 国产精品久久福利| www久久精品| 欧美va亚洲va国产综合| 欧美高清性hdvideosex| 欧美亚洲免费在线一区| 91蜜桃传媒精品久久久一区二区| 国产成人综合亚洲91猫咪| 国精产品一区一区三区mba视频| 青草av.久久免费一区| 午夜电影一区二区三区| 亚洲国产精品视频| 亚洲一区av在线| 亚洲已满18点击进入久久| **欧美大码日韩| 亚洲婷婷在线视频| 亚洲丝袜自拍清纯另类| 亚洲色图在线播放| 亚洲日本va午夜在线电影| 国产精品短视频| 国产精品欧美综合在线| 欧美激情中文不卡| 日本一区二区三区国色天香| 国产日韩精品一区| 日本一区二区不卡视频| 亚洲国产成人私人影院tom| 国产亚洲欧美日韩日本| 国产精品欧美久久久久一区二区| 欧美国产日韩亚洲一区| 国产精品天干天干在观线| 国产女同性恋一区二区| 亚洲欧洲性图库| 国产精品久久久久9999吃药| 亚洲欧洲另类国产综合| 一区二区三区精品| 亚洲国产cao| 美女精品一区二区| 国产精品影视天天线| 懂色av一区二区在线播放| 91偷拍与自偷拍精品| 欧美日韩视频不卡| 日韩美女一区二区三区四区| 久久久久久久久久久久久女国产乱| 国产女人18毛片水真多成人如厕| 亚洲精品v日韩精品| 天天操天天色综合| 国产福利91精品一区二区三区| 99精品偷自拍| 欧美一级黄色录像| 成人免费视频在线观看| 亚洲成在线观看| 国产精品乡下勾搭老头1| 日本精品一区二区三区四区的功能| 欧美剧在线免费观看网站 | 亚洲福利电影网| 久久狠狠亚洲综合| 丰满岳乱妇一区二区三区| 91国偷自产一区二区开放时间 | 成人福利在线看| 欧美人狂配大交3d怪物一区| 欧美成人精品3d动漫h| 亚洲欧洲韩国日本视频| 蜜桃一区二区三区在线| 91丝袜美腿高跟国产极品老师 | 中文字幕一区二区视频| 无吗不卡中文字幕| 丰满白嫩尤物一区二区| 欧美日韩国产系列| 中文字幕不卡的av| 蜜乳av一区二区| 在线视频综合导航| 国产免费成人在线视频| 蜜桃一区二区三区在线观看| 91在线观看美女| 26uuu亚洲| 亚洲成人av电影| 99亚偷拍自图区亚洲| 亚洲精品一区二区三区四区高清| 亚洲日本护士毛茸茸| 国产老肥熟一区二区三区| 欧洲av在线精品| 中文一区二区完整视频在线观看 | 日韩免费观看高清完整版| 亚洲黄一区二区三区| 成人午夜电影小说| 日韩欧美在线不卡| 五月婷婷综合激情| 在线一区二区视频| 中文字幕精品三区| 国产成人免费在线| 久久久午夜精品理论片中文字幕| 青青草视频一区| 91精品在线免费| 视频一区视频二区在线观看| 色婷婷av一区二区三区gif| 国产精品网站在线| 国产69精品久久久久777| 欧美精品一区二区三区在线播放| 丝袜a∨在线一区二区三区不卡| 在线精品国精品国产尤物884a| 成人免费视频在线观看| 97se狠狠狠综合亚洲狠狠| 国产精品理伦片| 不卡一二三区首页| 国产精品美女久久久久av爽李琼 | 日本欧美加勒比视频| 欧美日韩高清一区| 午夜电影久久久| 91精品国产综合久久久久久漫画| 亚洲福利视频一区二区| 欧美精品在线一区二区| 奇米综合一区二区三区精品视频| 91精品国产aⅴ一区二区| 日本免费在线视频不卡一不卡二| 欧美绝品在线观看成人午夜影视| 日韩精品视频网站| 欧美成人午夜电影| 国产99久久久国产精品免费看| 久久久久97国产精华液好用吗| 国产成人亚洲精品青草天美| 国产欧美日韩视频一区二区| heyzo一本久久综合| 尤物av一区二区| 制服丝袜亚洲播放| 经典三级在线一区| 国产精品色婷婷| 在线观看亚洲专区| 日产精品久久久久久久性色| 亚洲精品在线观| 99视频有精品| 日韩精品欧美精品| 精品久久久久久最新网址| 国产不卡在线一区| 一区二区三区精品在线| 日韩女优毛片在线| 高清国产一区二区三区| 一区二区三区在线观看动漫| 欧美一区二区三区视频免费播放| 国模套图日韩精品一区二区|