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

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

?? iic.c

?? 嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例詳解--基于ARM的應(yīng)用(采用ARM7TDMI內(nèi)核的、三星公司推出的S3C44B0X) 第三部分: Helloworld,IICtest,IOtest,Nandflasht
?? C
字號(hào):
#include <string.h>
#include "..\Target\44b.h"
#include "..\Target\44blib.h"
#include "..\Target\def.h"
#include "iic.h"

#define WRDATA	    (1)
#define POLLACK     (2)
#define RDDATA	    (3)
#define SETRDADDR   (4)

#define IICBUFSIZE 0x20

U8 _iicData[IICBUFSIZE];
volatile int _iicDataCount;
volatile int _iicStatus;
volatile int _iicMode;
int _iicPt;

void __irq IicInt(void);

void Test_Iic(void)
{
    unsigned int i,j,save_F,save_PF;
    static U8 data[256];

    Uart_Printf("[IIC Test using AT24LCxx]\n");

    save_F=rPCONF;
    save_PF=rPUPF;
    rPCONF |=0xa;	//PF0:IICSCL, PF1:IICSDA
    rPUPF |=0x3;	//pull-up disable

    pISR_IIC=(unsigned)IicInt;
    rINTMSK=~(BIT_GLOBAL|BIT_IIC);

    rIICCON=(1<<7)|(0<<6)|(1<<5)|(0xf);
    //Enable interrupt, IICCLK=MCLK/16, Enable ACK
    //40Mhz/16/(15+1) = 257Khz	
    rIICADD=0x10;   // S3C44B0X slave address

    rIICSTAT=0x10;

    Uart_Printf("Write test data into AT24LCxx\n");

    for(i=0;i<256;i++)
	Wr24LCxx(0xa0,(U8)i,i);
    for(i=0;i<256;i++)
	data[i]=0;

    Uart_Printf("Read test data from AT24LCxx\n");
    for(i=0;i<256;i++)
	Rd24LCxx(0xa0,(U8)i,&(data[i])); 

    for(i=0;i<16;i++)
    {
	for(j=0;j<16;j++)
	    Uart_Printf("%2x ",data[i*16+j]);
	Uart_Printf("\n");
    }
    
    rPCONF=save_F;
    rPUPF=save_PF;
}


void Wr24LCxx(U32 slvAddr,U32 addr,U8 data)
{
    _iicMode=WRDATA;
    _iicPt=0;
    _iicData[0]=(U8)addr;
    _iicData[1]=data;
    _iicDataCount=2;
    
    rIICDS=slvAddr;//0xa0
    rIICSTAT=0xf0; //MasTx,Start
    //Clearing the pending bit isn't needed because the pending bit has been cleared.
    while(_iicDataCount!=-1);

    _iicMode=POLLACK;

    while(1)
    {
	rIICDS=slvAddr;
	_iicStatus=0x100;
	rIICSTAT=0xf0; //MasTx,Start
	rIICCON=0xaf;  //resumes IIC operation. 
	while(_iicStatus==0x100);
	if(!(_iicStatus&0x1))
	    break; // when ACK is received
    }
    rIICSTAT=0xd0;  //stop MasTx condition 
    rIICCON=0xaf;   //resumes IIC operation. 
    Delay(1);	    //wait until stop condtion is in effect.

    //write is completed.
}
	

void Rd24LCxx(U32 slvAddr,U32 addr,U8 *data)
{
    _iicMode=SETRDADDR;
    _iicPt=0;
    _iicData[0]=(U8)addr;
    _iicDataCount=1;

    rIICDS=slvAddr;
    rIICSTAT=0xf0; //MasTx,Start  
    //Clearing the pending bit isn't needed because the pending bit has been cleared.
    while(_iicDataCount!=-1);

    _iicMode=RDDATA;

    _iicPt=0;
    _iicDataCount=1;
    
    rIICDS=slvAddr;
    rIICSTAT=0xb0; //MasRx,Start
    rIICCON=0xaf;  //resumes IIC operation.   
    while(_iicDataCount!=-1);

    *data=_iicData[1];
}



void __irq IicInt(void)
{
    U32 iicSt,i;
    rI_ISPC=BIT_IIC;

    iicSt=rIICSTAT; 
    if(iicSt&0x8){} // when bus arbitration is failed.
    if(iicSt&0x4){} // when a slave address is matched with IICADD
    if(iicSt&0x2){} // when a slave address is 0000000b
    if(iicSt&0x1){} // when ACK isn't received

    switch(_iicMode)
    {
	case POLLACK:
	    _iicStatus=iicSt;
	    break;

	case RDDATA:
	    if((_iicDataCount--)==0)
	    {
		_iicData[_iicPt++]=rIICDS;
	    
		rIICSTAT=0x90;  //stop MasRx condition 
		rIICCON=0xaf;   //resumes IIC operation.
		Delay(1);	//wait until stop condtion is in effect.
				//too long time... 
		//The pending bit will not be set after issuing stop condition.
		break;    
	    }	     
	    _iicData[_iicPt++]=rIICDS;
				//The last data has to be read with no ack.
	    if((_iicDataCount)==0)
		rIICCON=0x2f;	//resumes IIC operation with NOACK.  
	    else 
		rIICCON=0xaf;	//resumes IIC operation with ACK
	    break;

	case WRDATA:
	    if((_iicDataCount--)==0)
	    {
		rIICSTAT=0xd0;	//stop MasTx condition 
		rIICCON=0xaf;	//resumes IIC operation.
		Delay(1);	//wait until stop condtion is in effect.
		//The pending bit will not be set after issuing stop condition.
		break;    
	    }
	    rIICDS=_iicData[_iicPt++];  //_iicData[0] has dummy.
	    for(i=0;i<10;i++);	    //for setup time until rising edge of IICSCL
	    rIICCON=0xaf;	    //resumes IIC operation.
	    break;

	case SETRDADDR:
	    //Uart_Printf("[S%d]",_iicDataCount);
	    if((_iicDataCount--)==0)
	    {
		break;  //IIC operation is stopped because of IICCON[4]    
	    }
	    rIICDS=_iicData[_iicPt++];
	    for(i=0;i<10;i++);  //for setup time until rising edge of IICSCL
	    rIICCON=0xaf;	    //resumes IIC operation.
	    break;

	default:
	    break;	  
    }
}


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
首页国产欧美久久| 亚洲国产精品久久人人爱蜜臀 | 久久99精品国产麻豆婷婷洗澡| 国产欧美一区二区在线| 91精品免费在线| 91在线你懂得| 国产精品亚洲专一区二区三区| 亚洲一级二级在线| 国产精品毛片大码女人| 337p日本欧洲亚洲大胆色噜噜| 欧洲亚洲精品在线| jlzzjlzz欧美大全| 激情五月婷婷综合| 日韩综合小视频| 亚洲网友自拍偷拍| 亚洲精品写真福利| 国产精品第五页| 国产女主播视频一区二区| 日韩精品一区二区三区视频 | 亚洲免费av在线| 久久久久久一级片| 色综合久久中文综合久久97| 综合激情成人伊人| 99久久国产综合精品女不卡 | 国产福利一区二区三区在线视频| 日本在线不卡视频| 亚洲成人免费电影| 一区二区三区四区蜜桃| 亚洲欧洲精品一区二区三区不卡| 亚洲va欧美va天堂v国产综合| 亚洲蜜桃精久久久久久久| 欧美激情一区二区三区全黄| 久久亚洲二区三区| 久久毛片高清国产| 久久九九影视网| 国产欧美日韩综合精品一区二区 | 欧美一区二区三区成人| 欧美日韩电影在线播放| 欧美日韩久久久久久| 欧美日韩一区二区三区不卡| 91免费看片在线观看| 懂色av一区二区三区蜜臀| 国产日韩亚洲欧美综合| 国产亚洲欧美日韩在线一区| 久久久久久一二三区| 久久久精品日韩欧美| 欧美激情在线观看视频免费| 国产蜜臀av在线一区二区三区| 国产日韩一级二级三级| 成人免费视频在线观看| 亚洲人成网站在线| 亚洲风情在线资源站| 日产欧产美韩系列久久99| 裸体健美xxxx欧美裸体表演| 麻豆免费看一区二区三区| 精品一区二区久久久| 懂色av一区二区在线播放| 99久久99久久精品国产片果冻| 91麻豆精品视频| 欧美日本乱大交xxxxx| 欧美一区二区福利视频| www国产精品av| 国产精品成人网| 亚洲国产精品久久一线不卡| 毛片基地黄久久久久久天堂| 国产成人精品三级| 在线视频你懂得一区二区三区| 69p69国产精品| 久久精品一区四区| 亚洲一区二区三区美女| 久久97超碰色| 一本久久精品一区二区| 欧美日韩亚州综合| 久久麻豆一区二区| 一区二区三区电影在线播| 日本特黄久久久高潮| 国产精品 日产精品 欧美精品| 欧洲亚洲国产日韩| 精品国产1区2区3区| 亚洲日本在线看| 麻豆成人在线观看| 99久久99久久精品免费看蜜桃| 欧美一卡2卡三卡4卡5免费| 欧美激情艳妇裸体舞| 午夜激情久久久| 成人h版在线观看| 一区二区激情小说| 九九国产精品视频| 色综合久久久久综合体桃花网| 91精品婷婷国产综合久久竹菊| 欧美激情中文不卡| 午夜影院久久久| av亚洲精华国产精华精| 日韩丝袜情趣美女图片| 亚洲视频图片小说| 国产中文字幕精品| 欧美日韩国产高清一区二区| 国产精品高潮呻吟| 韩国在线一区二区| 欧美手机在线视频| 中文字幕日韩一区二区| 国产一区二区精品在线观看| 欧美三级日韩三级| 国产精品久久一卡二卡| 极品美女销魂一区二区三区免费| 色婷婷av一区| 国产精品久久午夜| 国产精品一线二线三线精华| 欧美精品欧美精品系列| 亚洲精品欧美二区三区中文字幕| 韩国av一区二区| 777亚洲妇女| 亚洲一卡二卡三卡四卡五卡| av电影天堂一区二区在线观看| 精品国产污网站| 日本亚洲天堂网| 精品视频1区2区3区| 亚洲欧美色一区| 成人动漫视频在线| 中文字幕欧美激情| 激情文学综合网| 精品久久一二三区| 久久91精品国产91久久小草| 91精品欧美一区二区三区综合在 | 国内精品国产三级国产a久久| 欧美日韩国产电影| 亚洲成人自拍网| 欧美日韩在线播放三区| 亚洲综合在线第一页| 在线视频亚洲一区| 夜色激情一区二区| 欧美视频一二三区| 亚洲福利一二三区| 欧美肥妇bbw| 天天色天天爱天天射综合| 欧美日韩二区三区| 免费成人结看片| 欧美第一区第二区| 狠狠色丁香婷婷综合| 久久亚洲一级片| 懂色av一区二区夜夜嗨| 国产精品国产三级国产三级人妇| www.激情成人| 亚洲欧美日本在线| 欧美撒尿777hd撒尿| 婷婷综合久久一区二区三区| 7777女厕盗摄久久久| 蜜臀av一区二区在线免费观看| 精品国产伦理网| 床上的激情91.| 亚洲欧美日本韩国| 欧美日韩高清不卡| 国内成人免费视频| 亚洲国产精品成人综合| 99riav久久精品riav| 99久久国产综合精品色伊| 亚洲国产日韩一区二区| 91精品在线观看入口| 国产精品一区一区三区| 国产精品久久久爽爽爽麻豆色哟哟 | 蜜桃视频在线一区| 精品国内片67194| 成人一级黄色片| 亚洲女人****多毛耸耸8| 欧美日韩一区小说| 精品一区二区日韩| 国产精品美女久久久久久久| 欧美亚洲国产一区在线观看网站| 三级不卡在线观看| 国产婷婷色一区二区三区 | 欧美午夜精品免费| 另类人妖一区二区av| 亚洲国产岛国毛片在线| 欧美日韩国产免费| 国产成人av资源| 一区二区久久久久久| 精品美女一区二区| 色综合久久88色综合天天| 麻豆精品一区二区综合av| 国产精品水嫩水嫩| 欧美高清视频一二三区| 国产成人精品免费网站| 视频在线观看一区| 国产精品视频一区二区三区不卡| 欧美日韩在线直播| 粉嫩蜜臀av国产精品网站| 天堂va蜜桃一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美国产1区2区| 欧美日韩三级一区| 成人的网站免费观看| 久久www免费人成看片高清| 亚洲色图都市小说| 久久香蕉国产线看观看99| 在线观看亚洲a| 国产99精品国产| 久久国产成人午夜av影院| 亚洲午夜久久久久久久久电影院 | 日本久久电影网| 国产精品99久久久久久有的能看|