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

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

?? main.c

?? LPC2300做為R485多機的接受程序。編譯通過。 奇偶校驗做第九位
?? C
字號:

#include    "config.h"
#include    "main.h"
#include    <string.h>

void Delay(uint dly)
{  
	unsigned int  i, m;
   	for(m = 0; m < dly; m++)
	{
		for(i=0; i<10000; i++)
		;
	}
}

/****************************************************************************
* 名稱:LED()
* 功能:LED燈閃
* 入口參數(shù):dly		
* 出口參數(shù):無
****************************************************************************/

void LED_Light(void)
{
	if((IO0PIN & LED) == 0) IO0SET = LED;			//LED1燈亮
	else IO0CLR = LED; 
}

void LED0_Light(void)
{
	if((IO0PIN & LED0) == 0) IO0SET = LED0;			//LED1燈亮
	else IO0CLR = LED0; 
}

void LED1_Light(void)
{
   if((IO0PIN & LED1) == 0) IO0SET = LED1;
   else IO0CLR = LED1;
}

void UART0_LED(void)
{
	if((IO0PIN & LED2) == 0) IO0SET = LED2;			//LED1燈亮
	else IO0CLR = LED2; 
}



/*************************中斷初始化******************************************
名稱:中斷初始化
輸入參數(shù):無
輸出參數(shù):無
功能:中斷初始化
******************************************************************************/
void INTERRUPT_Init(void)
{
	VICIntSelect = 0x00000000;		   			//所有中斷通道設置為IRQ中斷
	VICIntEnable = 0x00000000;					//清除所有中斷使能
	
	VICVectCntl0 = 0x00000026;				//串口0中斷通道分配最高優(yōu)先級(向量近制器1)
	VICVectAddr0 = (uint)UART0_IRQ;		    //設置UART0向量地址
	VICIntEnable |= Interrupt_UART0;		//設置串口0中斷使能
	
	VICVectCntl1 = 0x00000027;			//串口1中斷通道分配最高優(yōu)先級(向量近制器2)

	VICDefVectAddr = (uint)TIMER0_IRQ;  	//設置TIMER0向量地址
	VICIntEnable |= Interrupt_TIMER0;		//設置TIMER0中斷使能

	VICVectCntl2 = 0x00000025;				//TIMER1中斷通道分配最高優(yōu)先級(向量近制器4)
}


/*************系統(tǒng)時鐘初始化****************
*******默認狀態(tài)下:
PLLCON = 0x00 			  //PLL控制(使能)寄存器   PLLCON: 0xE01FC080
PLLCFG = 0x00 			  //PLL配制寄存器   PLLCON: 0xE01FC084
PLLSTAT = 0x00 			  //PLL狀態(tài)寄存器   PLLCON: 0xE01FC088
PLLFEED = 0x00 			  //PLL饋送寄存器   PLLCON: 0xE01FC08c

#define Fosc			11059200			//晶振頻率,10MHz~25MHz,應當與實際一至
#define Fcclk   		(Fosc * 5)  		//系統(tǒng)頻率,必須為Fosc的整數(shù)倍(1~32),且<=60MHZ
#define Fcco			(Fcclk * 4) 		//CCO頻率,必須為Fcclk的2、4、8、16倍,范圍為156MHz~320MHz
#define Fpclk   		(Fcclk / 4) * 1 	//VPB時鐘頻率,只能為(Fcclk / 4)的1 ~ 4倍

Fcclk = Fosc * M;
Fcco = Fosc * M * 2 * P 
******設置好PLL后,必須對所設置的數(shù)據(jù)在PLLFEED進行饋送,PLL才能生效
***********************************************/
void PLL_Init(void)			 
{
	uchar m, p;
    PLLCON = 1;
	#if ((Fcclk / 4) / Fpclk) == 1          //設置串口0波特率的分頻為4分頻
		VPBDIV = 0;
	#endif
	#if ((Fcclk / 4) / Fpclk) == 2          //設置串口0波特率的分頻為2分頻
		VPBDIV = 2;
	#endif
	#if ((Fcclk / 4) / Fpclk) == 4        //設置串口0波特率的分頻為無分頻
		VPBDIV = 1;
	#endif
                
	m = (Fcclk / Fosc) - 1;				  //PLL的倍頻值
	p = (Fcco / Fcclk) / 2;   			  //PLL的分頻值
	PLLCFG = (p << 5) | (m & 0x1f);
                
	PLLFEED = 0xaa;
	PLLFEED = 0x55;
	while((PLLSTAT & (1 << 10)) == 0);		   //鎖定PLL值
	PLLCON = 3;
	PLLFEED = 0xaa;
	PLLFEED = 0x55;
}

/*************************系統(tǒng)初始化*****************************************
名稱:系統(tǒng)初始化
輸入參數(shù):無
輸出參數(shù):無
功能:對個個I/0進行初始化,及各個中斷初始化
*****************************************************************************/
void SYSTEM_Init(void)
{
	uchar k;				 //設置引腳功能寄存器
	PINSEL0 = 0x00051505;            //設置串口0及串口1,SPI功能
	PINSEL1 = 0x00000000;

	IO0DIR = SH485EN | LED | SPIOUT | TXD;
	IO0CLR = SH485EN; 				//設置為接收使能  0x0080	to be low
	for(k = 0; k < 2; k++)
	{
      	LED_Light();
      	Delay(10);
	}
}

	
/*************************定時器0初始化******************************************
名稱:定時器0初始化
輸入參數(shù):無
輸出參數(shù):無
功能:定時器0初始化
		實現(xiàn)0.5s;
#define Fosc			11059200			//晶振頻率,10MHz~25MHz,應當與實際一至
#define Fcclk   		(Fosc * 4)  		//系統(tǒng)頻率,必須為Fosc的整數(shù)倍(1~32),且<=60MHZ
#define Fcco			(Fcclk * 4) 		//CCO頻率,必須為Fcclk的2、4、8、16倍,范圍為156MHz~320MHz
#define Fpclk   		(Fcclk / 4)   	    //VPB時鐘頻率,只能為(Fcclk / 4)的1 ~ 4倍
如果所得的值與分頻值相等就為1S
********************************************************************************************/
void TIMER0_Init (void)
{
	T0PR = 10;			//設置定時分頻為100分頻,得110592Hz
	T0MCR = 0x03;		//匹配通道0匹配中斷并復位T0TC
	T0MR0 = 100;		//設置MR0比較值,定時0.1mS
	T0TCR = 0x03;		//啟運計時并復位
	T0TCR = 0x01;		//啟動計時
}

/************************定時器0中斷*****************************************
名稱:定時器0中斷
輸入參數(shù):無
輸出參數(shù):無
功能:定時器0中斷
********************************************/
void __irq TIMER0_IRQ(void)
{
	unsigned short m;
	if(T0IR & 0x01)			//表示MR0定時中斷
	{
		T0IR |= 0x01;		 //清除定時器
		if(TIMER0_Flag[0] == TRUE)
		{
			TIMER0_count[0]++;		//清除計數(shù)器
			if(TIMER0_count[0] >= delay_num)
			{
				TIMER0_count[0] = 0;
				TIMER0_Flag[0] = FALSE;
				UART0_RcvOk = TRUE;
				UART0_RcvLen = UART0_RcvCount;
				for(m = 0; m < UART0_RcvLen; m++)
				{
					UART0_Rcvbuf[m] = UART0_RcvTempbuf[m];
					if(UART0_Rcvbuf[m]==0x03)LED1_Light();
				}
				UART0_RcvCount = 0;
			}
		}

		if(TIMER0_Flag[1] == TRUE)
		{
			TIMER0_count[1]++;		//清除計數(shù)器
			if(TIMER0_count[1] >= delay_num)
			{
				TIMER0_count[1] = 0;
				TIMER0_Flag[1] = FALSE;
			}
		}
	}
	VICVectAddr = 0x00;
}   


/*************************串口0數(shù)據(jù)處理******************************************
名稱:串口0初始化
輸入參數(shù):無
輸出參數(shù):無
功能:串口0初始化。包括波特,中斷使能,F(xiàn)IFO中斷設置
******************************************************************************/


/*************************串口0初始化******************************************
名稱:串口0初始化
輸入參數(shù):無
輸出參數(shù):無
功能:串口0初始化。包括波特,中斷使能,F(xiàn)IFO中斷設置
******************************************************************************/
void UART0_Init (void)
{
	uint Fdiv;
	U0LCR = 0x83;                   // DLAB = 1,可設置波特率
	Fdiv =(Fpclk/16)/BAUD_RATE;
	U0DLL = Fdiv%256;
	U0DLM = Fdiv/256;
	U0LCR = 0x03;  
	U0IER = 0x01;					//設置串口0的中斷使能
	U0FCR = 0x01; 	            //使能FIFO,串口接收到1個字節(jié)才產生中斷	
}
/*************************串口0接收中斷*****************************************
名稱:串口0接收中斷
輸入參數(shù):無
輸出參數(shù):串口0所接收的數(shù)據(jù)
功能:串口0中斷接收數(shù)據(jù)
******************************************************************************/


void __irq UART0_IRQ(void)
{
	uchar  IIRValue, LSRValue;
	uchar Rcv_data;
	
	IIRValue = U0IIR;		 //讀取中斷標識寄存器
	Rcv_data = U0RBR;   	   // Dummy read on RX to clear  

	TIMER0_count[0] = 0;		//清除計數(shù)器
	TIMER0_Flag[0] = TRUE;

	IIRValue >>= 1;   // skip pending bit in IIR 
	IIRValue &= 0x07;   // check bit 1~3, interrupt identification 
	
	if ( IIRValue == IIR_RLS )  // Receive Line Status 
	{
		LSRValue = U0LSR; 	 //讀取線狀態(tài)寄存器 Receive Line Status 
		
		if ( LSRValue & (LSR_OE|LSR_PE|LSR_FE|LSR_RXFE|LSR_BI) ) //判斷線狀態(tài)標志
		{
			VICVectAddr = 0;  //Acknowledge Interrupt 
			return;
		}
		if ( LSRValue & LSR_RDR ) // Receive Data Ready    
		{
			UART0_RcvTempbuf[UART0_RcvCount] = Rcv_data;
			UART0_RcvCount++;
		}
	}
	else if ( IIRValue == IIR_RDA ) // Receive Data Available 
	{
		UART0_RcvTempbuf[UART0_RcvCount] = Rcv_data;
		UART0_RcvCount++;
	}
	else if ( IIRValue == IIR_CTI ) // Character timeout indicator 
	{
		UART0Status |= 0x100;  // Bit 9 as the CTI error 接收超時置位 Character Time-out indicator 
	}
	UART0_LED();
	VICVectAddr = 0;  // Acknowledge Interrupt 
}
/*************************串口0發(fā)送單個字節(jié)***********************************
名稱:串口0發(fā)送單個字節(jié)
輸入參數(shù):要發(fā)送的字節(jié)
輸出參數(shù):無
功能:串口0發(fā)送單個字節(jié)
******************************************************************************/
void UART0_SendByte ( uchar m)
{
  U0THR = m;		            // 發(fā)送數(shù)據(jù)
  while((U0LSR&0x40)==0 );	    // 等待數(shù)據(jù)發(fā)送完畢
}

/*************************串口0發(fā)送字符串*************************************
名稱:串口0發(fā)送字符串
輸入參數(shù):要發(fā)送的字節(jié)數(shù)組,*buf, 及數(shù)組的長度Len
輸出參數(shù):無
功能:串口0發(fā)送字符串
******************************************************************************/
void  UART0_SendString(uint adress, uchar *buf, unsigned short Len)
{
  	unsigned short i;
	U0LCR =0x2b;
	Delay(1);
	UART0_SendByte(adress);
	U0LCR =0x3b;
	Delay(1);
	for(i = 0; i < Len; i++) 
  	{
  		UART0_SendByte(buf[i]);
	}
	IO0CLR = SP485_EN0; 
}

/****************************************************************************
**主函數(shù):讀取實時時鐘的值,并從串口發(fā)送出去。
****************************************************************************/
int main(void)
{
	uchar Ti[2];
	SYSTEM_Init();		 //系統(tǒng)初始化
	PLL_Init();			 //IC工作時鐘初始化
	UART0_Init();	    //串口0初始化
	TIMER0_Init();		//定時器0初始化
	INTERRUPT_Init();	//中斷初始化
	Ti[0]=3; Ti[1]=10;

	while (1)	
	{
	Delay(500);
	  UART0_SendString(0x02,Ti,1);
	  Ti[0]+=Ti[1];
	  UART0_SendString(0x03,Ti,1);							
	}
 }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区在线观看| 亚洲一二三区在线观看| 亚洲美女一区二区三区| 欧美bbbbb| 色综合色狠狠天天综合色| 日韩视频在线你懂得| 一区二区久久久久久| 国产91精品一区二区| 欧美一区二区三区四区在线观看| 欧美激情一区二区| 激情综合五月天| 欧美夫妻性生活| 一区二区三区加勒比av| 懂色av一区二区三区免费观看| 欧美日韩高清一区二区| 亚洲女人小视频在线观看| 国产黄色精品视频| xfplay精品久久| 麻豆中文一区二区| 91精品国产欧美一区二区成人| 一区二区在线电影| 91丝袜呻吟高潮美腿白嫩在线观看| 久久久久久一二三区| 国内精品在线播放| 精品国产一区二区三区久久久蜜月| 亚洲高清免费视频| 色噜噜久久综合| 亚洲三级久久久| 成人av集中营| 亚洲青青青在线视频| 色哟哟精品一区| 亚洲品质自拍视频网站| 色婷婷av一区二区三区大白胸| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品一区二区三区99| 久久理论电影网| 成人毛片视频在线观看| 亚洲日本中文字幕区| 在线视频中文字幕一区二区| 一区二区免费在线| 在线播放欧美女士性生活| 日韩福利电影在线观看| 精品少妇一区二区三区视频免付费| 久草中文综合在线| 久久精品日产第一区二区三区高清版| 国产最新精品免费| 国产精品入口麻豆原神| 一本到不卡免费一区二区| 亚洲成人免费观看| 欧美mv日韩mv国产| 成人在线视频一区| 亚洲午夜影视影院在线观看| 欧美高清精品3d| 国产福利一区二区| 亚洲柠檬福利资源导航| 91麻豆精品国产91久久久资源速度 | 午夜一区二区三区在线观看| 欧美另类一区二区三区| 国产麻豆日韩欧美久久| 亚洲欧美日韩国产手机在线| 欧美一区二区三区在线| 波多野洁衣一区| 午夜久久久影院| 国产亚洲成av人在线观看导航| 91免费版在线| 久久av老司机精品网站导航| 1000部国产精品成人观看| 欧美日韩亚洲综合一区二区三区 | www.成人网.com| 天天做天天摸天天爽国产一区| 久久先锋影音av| 欧美亚洲日本一区| 国产精品自拍三区| 午夜精品一区二区三区免费视频| 久久久亚洲欧洲日产国码αv| 欧美图片一区二区三区| 国产成人av电影在线观看| 日韩精品乱码av一区二区| 国产精品无码永久免费888| 在线观看欧美日本| 国产成人8x视频一区二区 | 成人免费一区二区三区视频| 欧美美女bb生活片| av爱爱亚洲一区| 国产一区啦啦啦在线观看| 婷婷夜色潮精品综合在线| 中文字幕一区二区三区不卡在线| 亚洲精品一区二区三区四区高清 | 久久免费精品国产久精品久久久久 | 精品国精品自拍自在线| 欧美日韩一卡二卡三卡| a级精品国产片在线观看| 激情久久五月天| 日本欧美加勒比视频| 亚洲制服丝袜在线| 中文字幕在线一区二区三区| 国产午夜精品久久久久久久| 日韩欧美电影在线| 日韩欧美在线1卡| 欧美精品亚洲一区二区在线播放| 一本一本大道香蕉久在线精品| 国产成人免费在线观看| 国模套图日韩精品一区二区| 日韩**一区毛片| 亚洲chinese男男1069| 亚洲一区在线观看免费观看电影高清 | 99re亚洲国产精品| 国产99精品国产| 国产suv精品一区二区883| 国产成人在线视频免费播放| 久久66热re国产| 国产一区二区三区免费观看| 精品一区二区三区久久| 精品一区二区三区在线播放视频 | 亚洲一区二区三区不卡国产欧美| 中文字幕免费不卡| 国产精品久久久久久久第一福利| 中文字幕精品一区二区三区精品| 久久久99免费| 中文子幕无线码一区tr| 国产精品灌醉下药二区| 亚洲丝袜制服诱惑| 一区二区三区不卡视频| 丝袜美腿高跟呻吟高潮一区| 免费成人在线网站| 国产乱码精品1区2区3区| 成人午夜在线播放| 欧美自拍丝袜亚洲| 欧美一区二区三区在| 日韩一区二区在线看片| 久久久精品免费网站| 国产精品成人一区二区艾草| 一区二区三区免费在线观看| 亚洲国产精品自拍| 美国十次综合导航| 成人午夜在线播放| 欧美性受极品xxxx喷水| 欧美刺激脚交jootjob| 日本一区二区三区在线观看| **性色生活片久久毛片| 亚洲高清免费视频| 国产精品一级在线| 欧美在线观看视频一区二区三区| 欧美日韩国产综合一区二区| 亚洲精品一区二区三区在线观看 | 欧美综合一区二区三区| 日韩欧美一区中文| 国产精品免费久久| 日韩电影网1区2区| 不卡一卡二卡三乱码免费网站| 欧美视频完全免费看| 久久先锋资源网| 亚洲国产aⅴ天堂久久| 国产一区二区在线观看视频| 色综合激情五月| 精品国产乱码久久久久久图片| 亚洲欧美视频一区| 国产一区久久久| 欧美群妇大交群中文字幕| 欧美激情综合五月色丁香小说| 午夜日韩在线电影| 97国产精品videossex| 日韩欧美成人一区| 一区二区三区国产精华| 国产成人欧美日韩在线电影| 欧美一级片在线| 日韩一区在线看| 国产九色精品成人porny| 在线电影欧美成精品| 亚洲欧美一区二区三区国产精品| 久久aⅴ国产欧美74aaa| 欧美高清性hdvideosex| 一区二区三区欧美视频| 成人国产精品视频| 久久久国产综合精品女国产盗摄| 日韩有码一区二区三区| 色婷婷香蕉在线一区二区| 国产嫩草影院久久久久| 精品一区二区三区影院在线午夜| 欧美羞羞免费网站| 亚洲免费av在线| jlzzjlzz欧美大全| 国产欧美日本一区二区三区| 国产在线视频一区二区| 欧美电影免费观看高清完整版在线 | 成人一道本在线| 久久看人人爽人人| 久久成人av少妇免费| 在线不卡的av| 日韩精品乱码免费| 欧美色精品天天在线观看视频| 亚洲三级免费电影| 色欧美88888久久久久久影院| 欧美激情在线看| 成人黄色网址在线观看| 国产精品女主播av| 成人亚洲精品久久久久软件| 中文字幕不卡的av| av中文字幕亚洲| 亚洲精品欧美二区三区中文字幕|