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

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

?? iic.c

?? 針對philips的51單片機LPC931的具體應用的例子。實現對uart, spi, i2c等硬件資源的操作。還有針對小內存單片機操作系統的實現。
?? C
字號:
#include "REG931.H"
#include "memory.h"
#include "system.h"
#include "key.h"
#include "vfd.h"
#include "display.h"
#include "uart.h"
#include "iic.h"

// these functions use for P89LPC931 MCU

/****************************************************************
* 設置總線函數(設置為從機)
* 功能用于設置I2C 控制寄存器包括總線時鐘選擇及從地址.不接受廣播地址
* 入口參數addr 從地址
****************************************************************/
void Init_iic(void){
#ifdef    INCLUDE_I2C_CODE
	I2ADR = IIC_SLAVE_ADDR & 0xfe; /* 設置從地址不接收廣播地址*/
	I2CON = RELEASE_BUS_ACK; /* 啟動硬件I2C */
	EI2C=1;		// enable iic interrupt
#endif
}


/***************************************************************
*				發送數據
* 功能:向總線發送數據
* 入口參數:c		所要發送的數據
* 出口參數:當接收到非應答位時返回0,否則返回1
***************************************************************/
#if     0
bit SendByte(uchar c){
#ifdef    INCLUDE_I2C_CODE
	if( I2STAT==0xC0 )      /* 上次發送數據后,接收到非應答位 */
		{
		I2CON = RELEASE_BUS_ACK;
		return(0);
	}
	I2DAT = c;       		/* 發送數據		*/
	I2CON = RELEASE_BUS_ACK; /* 釋放總線	*/
	while( SI==0 ); 		/* 等待字節數據發送完成	*/

	return(1);
#endif
}
#endif
/***************************************************************
*				接收字節函數
* 功能:讀取總線傳來的字節數據并發送應答位,正常接收返回1。
* 入口參數:c		此時讀入的數據變量的地址
* 出口參數:接收到總線結束信號或重新啟動總線信號時返回0
***************************************************************/
#if      0
bit RcvByte(uchar *c){
#ifdef    INCLUDE_I2C_CODE
	uchar uc;
	I2CON = RELEASE_BUS_ACK;     	/* 清除標志位, clear SI   */
	while( SI == 0 )    ;   			/* 放開總線,等待接收		*/
	uc=I2STAT;
	if( uc == 0xA0 )			/* 接收到停止位或重新啟動位 */
	{
		I2CON = RELEASE_BUS_ACK;/* 先放開總線,再返回0	*/
		return(0);
	}
	*c = I2DAT;       	/* 取數據	*/
	return(1);
#endif
}
#endif
/**************************************************************** 
*            I2C 中斷服務函數
* 功能:用于監控總線上的信號,并對主機作出響應。
* 注: 要打開中斷允許,最好把I2C中斷優先級設置高一點。
*      接收到對本器件操作的尋址信號時,進入中斷      
*      I2C中斷入口地址為0033H,即interrupt 6
****************************************************************/
void I2c_Isr(void)  interrupt 6  {
#ifdef    INCLUDE_I2C_CODE
	uchar indata;
	uchar uc;
	uc = I2STAT;
	switch(uc) {
	case RDSLA:				/* 主機讀操作		*/
#if     0
		while(1){
			if(TxIndex<TxLen)
				if( SendByte(TxDBuff[TxIndex])==0 ) break;
			else	
				break;
			TxIndex++;
		}
		I2CON = 0x44;		/* 開放總線	*/
		MCU_KEYINT_PIN=1;
		break;
#else
		TxIndex=0;
		I2DAT = TxDBuff[TxIndex++];
		I2CON= RELEASE_BUS_ACK;
		bIicBusy=1;   //iic bus busy for rcv data
		 break;		
	case RDSLA_DATA:
		if(TxIndex<TxLen){
			I2DAT=TxDBuff[TxIndex];
			TxIndex++;
		}
		I2CON = RELEASE_BUS_ACK;     	/* 清除標志位, clear SI   */
		MCU_KEYINT_PIN=1;
		break;
	case RDSLA_DATA_NOACK:
	case RDSLA_STOP:
		I2CON = RELEASE_BUS_ACK;/* 先放開總線,再返回0	*/
		bIicBusy=0;  // iic bus idle
		MCU_KEYINT_PIN=1;
//		TxLen=TxIndex=0;
		break;
#endif
///////////////////////////////////////////////////////
	case WRSLA:		/* 主機寫操作		*/
#if    0
		if(!bRxDProcessEnd){
			I2CON=RELEASE_BUS_NOACK;
			bRxDProcessEnd=0;
			break;
		}
		while(1) { 
			if( RcvByte(&indata)==0 ) break;	/* 若接收到總線結束則退出	*/
			RxDBuff[RxIndex] = indata;
			RxIndex++;
		}
		I2CON = 0x44;		/* 開放總線	*/
		RxLen=RxDBuff[1]+3;
		bRxDProcessEnd=0;
		break;
#else
		if(bRxDProcessEnd /* && !bIicBusy*/ ){
			I2CON= RELEASE_BUS_ACK;
			bIicBusy=1;   //iic bus busy for rcv data
			RxIndex=0;
		}
		else{
			I2CON= RELEASE_BUS_ACK;
//			bIicBusy=1;
		}
		break;
	case WRSLA_DATA:		/* 主機寫 data   */
		if(bIicBusy){
			indata= I2DAT;       	/* 取數據	*/
			if(RxIndex<RXD_BUF_SIZE)
				RxDBuff[RxIndex]= indata;
			else{
				I2CON = RELEASE_BUS_NOACK;     	/* 清除標志位, clear SI   */
				break;
			}
			RxIndex++;
		}
		I2CON = RELEASE_BUS_ACK;     	/* 清除標志位, clear SI   */
		break;
//	case WRSLA_DATA_NOACK:
	case WRSLA_STOP:   /* 接收到停止位或重新啟動位 */
		I2CON = RELEASE_BUS_ACK;/* 先放開總線,再返回0	*/
		RxLen= RxDBuff[1]+3;
		bRxDProcessEnd=0;
		bIicBusy=0;  // iic bus idle
		I2C_Uart_InforProcess( );
		break;
#endif
	default:	
		I2CON = RELEASE_BUS_ACK;     	/* 清除標志位, clear SI   */
		break;
	}
#endif
}

void StartI2CData(uchar len){
#ifdef    INCLUDE_I2C_CODE
	TxLen=len;
	TxIndex=0;
	MCU_KEYINT_PIN=0;
#else 
	len=len;
#endif
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产黄色91视频| 色婷婷久久99综合精品jk白丝| 国产一区二区三区美女| 91精品在线一区二区| 欧美日韩视频专区在线播放| 欧美国产禁国产网站cc| 久久精品国产精品亚洲综合| 欧美亚洲国产一区二区三区va| 国产日韩av一区| 国产精品一区二区不卡| 91精品国产一区二区| 亚洲欧美日韩中文播放| 成人综合激情网| 久久亚洲一区二区三区明星换脸| 午夜影视日本亚洲欧洲精品| 色综合天天综合狠狠| 国产欧美精品一区aⅴ影院| 久久精工是国产品牌吗| 欧美精品一卡二卡| 亚洲高清三级视频| 91精彩视频在线观看| 欧美精品xxxxbbbb| 性欧美大战久久久久久久久| 成人黄色小视频在线观看| 久久蜜桃一区二区| 狠狠色伊人亚洲综合成人| 欧美一区二区性放荡片| 亚洲午夜国产一区99re久久| 日本道色综合久久| 亚洲自拍偷拍欧美| 欧美日韩综合一区| 亚洲bdsm女犯bdsm网站| 欧美高清精品3d| 麻豆91在线观看| 91精品国产综合久久久久久久久久 | 一本色道久久综合亚洲aⅴ蜜桃| 中文一区在线播放| 91色在线porny| 日韩理论片在线| 日本精品视频一区二区| 一区二区三区免费网站| 久久新电视剧免费观看| 一区二区三区av电影 | 欧美一二三区精品| 日韩精品福利网| 日韩一级高清毛片| 国产激情视频一区二区在线观看| 久久久精品欧美丰满| 丁香婷婷深情五月亚洲| 亚洲人成网站在线| 欧美日韩三级在线| 国内精品免费在线观看| 国产精品久久免费看| 在线亚洲一区观看| 裸体歌舞表演一区二区| 久久精品欧美日韩精品| av资源站一区| 视频一区二区中文字幕| 精品少妇一区二区三区视频免付费 | 99久久精品国产精品久久| 久久av资源网| 日韩免费看网站| 夜夜精品视频一区二区 | 肉肉av福利一精品导航| 日韩三级免费观看| 99久久精品情趣| 五月天久久比比资源色| 国产亚洲欧美日韩在线一区| 99久久免费国产| 日韩中文欧美在线| 国产精品视频一二三| 欧美日韩三级视频| 成人黄色在线网站| 日韩中文字幕亚洲一区二区va在线| 国产午夜亚洲精品不卡| 在线观看国产91| 久久国产精品第一页| 一区二区三区四区蜜桃 | 国产午夜精品久久久久久免费视 | 2024国产精品| 欧美中文字幕久久| 麻豆91在线播放免费| 亚洲精品高清视频在线观看| 久久久久久久久久电影| 欧美午夜精品免费| 成人av网在线| 捆绑调教一区二区三区| 亚洲午夜影视影院在线观看| 国产日韩视频一区二区三区| 欧美精品高清视频| 在线观看国产91| av中文一区二区三区| 国产精品自在在线| 免费在线看成人av| 亚洲在线中文字幕| 一区二区三区不卡视频| 国产精品国产精品国产专区不蜜 | 久久香蕉国产线看观看99| 制服丝袜一区二区三区| 日本高清无吗v一区| 高清成人在线观看| 国产主播一区二区| 蜜臀91精品一区二区三区| 午夜精品视频一区| 亚洲成人免费影院| 亚洲韩国精品一区| 亚洲一本大道在线| 一区二区在线观看视频| 亚洲色图第一区| **网站欧美大片在线观看| 欧美激情一区三区| 国产欧美日韩精品a在线观看| 久久亚洲综合色一区二区三区| 欧美一三区三区四区免费在线看 | 色婷婷综合久久久久中文一区二区 | 欧美美女喷水视频| 欧美日韩精品一区二区三区四区| 色综合av在线| 欧美在线免费观看亚洲| 日本大香伊一区二区三区| 在线视频一区二区三区| 欧美吞精做爰啪啪高潮| 欧美日韩综合不卡| 3atv一区二区三区| 精品黑人一区二区三区久久| 久久综合成人精品亚洲另类欧美| 日韩欧美三级在线| 久久久精品tv| 国产精品久久一级| 亚洲最大成人综合| 天堂av在线一区| 国产一区二区在线影院| 国产精品1024| 一本一本大道香蕉久在线精品| 欧美在线一区二区三区| 日韩亚洲欧美一区| 国产性色一区二区| 亚洲欧美aⅴ...| 日韩av高清在线观看| 国产精品亚洲第一区在线暖暖韩国| 成人午夜视频免费看| 91久久精品国产91性色tv | 青青草97国产精品免费观看无弹窗版| 日韩电影免费在线看| 国产精品羞羞答答xxdd| 色香色香欲天天天影视综合网| 欧美日韩国产电影| 久久毛片高清国产| 亚洲在线成人精品| 激情六月婷婷久久| 欧日韩精品视频| 日韩女优制服丝袜电影| 1024国产精品| 久久精品国产亚洲高清剧情介绍| 不卡av在线免费观看| 欧美日韩大陆一区二区| 国产婷婷色一区二区三区 | 日韩一区二区三区精品视频 | a级高清视频欧美日韩| 911国产精品| 国产精品水嫩水嫩| 麻豆专区一区二区三区四区五区| 成人小视频在线观看| 欧美一区二区日韩| 亚洲精品免费电影| 国产精品一区免费在线观看| 欧美美女黄视频| 亚洲视频一二三区| 国产成人啪午夜精品网站男同| 欧美日韩精品一区二区三区| 国产精品美女视频| 韩国女主播一区| 91精品国产一区二区| 亚洲国产人成综合网站| 成人三级伦理片| 精品成人在线观看| 天天综合天天综合色| 91精品福利视频| 亚洲欧洲韩国日本视频| 国产精品影音先锋| 精品噜噜噜噜久久久久久久久试看| 亚洲一二三级电影| 色婷婷av一区| 一区免费观看视频| 成人免费毛片片v| 中文字幕成人网| 国产乱国产乱300精品| 日韩欧美国产精品一区| 天天色 色综合| 欧美日韩在线三区| 亚洲已满18点击进入久久| 92国产精品观看| 国产精品成人免费精品自在线观看| 国产在线不卡一区| 久久精品视频在线免费观看| 国产美女主播视频一区| 久久久另类综合| 亚洲天堂成人在线观看| 久久这里只有精品首页| 精彩视频一区二区|