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

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

?? iic_test.c

?? 三星4510開發板Sdns100上代的演示程序
?? C
字號:
/*************************************************************************/
/*                                                                       */
/* FILE NAME                                      VERSION                */
/*                                                                       */
/*      iic.c                      		 KS32C50100   : version 1.0 */
/*                                                                       */
/* COMPONENT                                                             */
/*                                                                       */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/* FUNCTIONS                                                             */
/*                                                                       */
/*                                                                       */
/* DEPENDENCIES                                                          */
/*                                                                       */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*************************************************************************/
#include <stdarg.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "std.h"
#include "apdialog.h"
#include "snds.h"
#include "uart.h"
#include "isr.h"
#include "pollio.h"
#include "iic.h"
#include "memory.h"
#include "sysconf.h"

#define   MAX_LINE_BUF     250

/******************************************************************
 *                                                                *
 *           IIC Test using IIC 64Kbit Serial EEPROM              *
 *                                                                *
 ******************************************************************/
void IICTest(void) 
{
	char TestItemSel ;

	IicSetup() ;// Initialize IIC control block
	Enable_Int(nGLOBAL_INT); //enable global interrupt mask

	do {
	     Print("\n\n") ;
	     Print("        IIC Test Items \n") ;
	     Print("+-----------------------------------+\r") ;
	     Print("1. IIC Page Write Test(INT)      - [W]\r") ;
	     Print("2. IIC Sequential Read Test(INT) - [R]\r") ;
	     Print("3. IIC Read/Write Test(INT.)     - [L]\r") ;
	     Print("4. IIC Loopback test(INT)        - [B]\r") ;
	     Print("5. IIC configuration view        - [C]\r") ;
	     Print("6. Quit IIC Test                 - [Q]\r") ;
	     Print("+-----------------------------------+\r") ;


	     Print("\rSelect Test Item : ") ;
	     TestItemSel = get_byte() ;

	     switch(TestItemSel)
	     {
		case 'W' : case 'w' : IICWriteTest() ; break ;
		case 'R' : case 'r' : IICReadTest() ; break ;
		case 'L' : case 'l' : IICAutoTest() ; break ;
		case 'B' : case 'b' : IICLoopBackTest() ; break ;
		case 'C' : case 'c' : config_iic() ; break ;
		case 'Q' : case 'q' : break ;
		default : return ;
	     }
	     Print("\n Press Any Key to Continue IIC Test") ; 
	     get_byte() ;

	} while  ( (TestItemSel != 'Q') && (TestItemSel != 'q') ) ;
}



/******************************************************************
 *                                                                *
 *              IIC EEPROM READ & WRITE TEST MODULE               *
 *                                                                *
 ******************************************************************/

/* IIC Write Test Program */
void IICWriteTest(void)
{
	U8 TestData[StorageSize] ;
	U32 i, GetDataSize=0 ;
	U32 ByteAddr;

        Print("\rEnter Byte write address of IIC EEPROM.");
        Print("\r=>[0x%x]: ",(int)StorageSize);
        ByteAddr = gethex2dec(4); get_byte();

	Print("\rInput Write Character.");
	Print("\r=>(upto %dbytes): ",(int)StorageSize) ;
	while ((TestData[GetDataSize] = get_byte()) != CR ) GetDataSize++ ;

	Print("%d bytes received : ",GetDataSize);
	for (i=0;i<GetDataSize;i++) put_byte(TestData[i]) ;

	IICWriteInt((U8)IIC_DEV_0,(U32)ByteAddr,TestData,GetDataSize);
	Print("\rIIC Serial EEPROM write done.\r");
}


/* IIC Read Test Program */
void IICReadTest(void)
{
	U8 *DataBuff;
	U32 ReadDataSize ;
	int i,p;
	U32 ByteAddr;

        Print("\rEnter Byte write address of IIC EEPROM.");
        Print("\r=>[0x%x]: ",(int)StorageSize);
        ByteAddr = gethex2dec(4); get_byte();

	Print("\r >>> Input Read Data Size : ") ;
	ReadDataSize = get_digit() ;

	Print("\r\r  <<< READ DATA FROM IIC SERIAL EEPROM >>>\r\r") ;
        DataBuff=(U8 *)IICReadInt((U8)IIC_DEV_0,(U32)ByteAddr,ReadDataSize);

	for (i=0,p=0;i<ReadDataSize;i++) 
	{
	        if(!(i%SizeOfPage)) Print("\r[%d]0x%x: ",p++,ByteAddr);
	        put_byte(*DataBuff++); 
	        ByteAddr++;
    } 
}



/* IIC Read/Write Test Program by interrupt method */
void IICAutoTest(void)
{

	U8 *DataBuff;
	U8 TestData[] = "IIC Read/Write Test Pattern. ";
	U8 TempData ;
	U32 i, TestSize, TestLoop ;

	TestLoop = TestSize = sizeof(TestData) ;
	l2Print("IIC Test","=>IICAutoTest");

	while(TestLoop--) {

	     Print("\r $$ ") ;

	     /* Write IIC test pattern to Serial EEPROM */
	     IICWriteInt((U8)IIC_DEV_0,(U32)IICTestAddr,TestData,TestSize);
	     for (i=0;i<(int)Write_Cycle_ms(5);i++); /* 5ms write cycle */
        
	     /* Read IIC test pattern to Serial EEPROM */
             DataBuff=(U8 *)IICReadInt((U8)IIC_DEV_0,(U32)IICTestAddr,TestSize);
	     for (i=0;i<(int)Write_Cycle_ms(5);i++); /* 5ms write cycle */
	     for (i=0;i<TestSize;i++) put_byte(*DataBuff++) ;

	     /* Next Test Pattern Generation */
	     TempData = TestData[TestSize] ;
	     TestData[TestSize] = TestData[0] ;
	     for (i=0;i<TestSize;i++) TestData[i] = TestData[i+1] ;

	} // End of while loop
}


/* IIC Loopback Test  */
int IICLoopBackTest(void)
{
	U8 *DataBuff;
	U8 *TestData, *TempData;
	int i;
	int TestFlag = 1;


	//Print("\r\r$IIC R&W Test with IIC EEPROM(%dKByte).\r",IICTestSize/1024);
	Print("\r\r$IIC R&W Test with IIC EEPROM(%dKByte).\r",IICTestSize);

        /* Memory allocation for IIC test pattern */
        if((TestData = (U8 *)malloc((unsigned)IICTestSize)) == (U8 *)(NULL))
             Print("\rMemory allocation error occurred!!!\r");

        /* To generate IIC test pattern */
	//Print("\r=> Generating R,W pattern data(%dBytes).",IICTestSize);
        TempData = TestData; /* copy test pattern data memory */
        for(i=0; i < IICTestSize; i++) *TempData++ = (U8)PatternGen(i);

	/* Write IIC test pattern to Serial EEPROM */
	Print("\r=> Writing data.....");
	IICWriteInt((U8)IIC_DEV_0,(U32)IICTestAddr,TestData,IICTestSize);
	for (i=0;i<(int)Write_Cycle_ms(5);i++); /* 5ms write cycle */

	/* Read IIC test pattern from Serial EEPROM */
	Print("\r=> Reading data....");
        DataBuff=(U8 *)IICReadInt((U8)IIC_DEV_0,(U32)IICTestAddr,IICTestSize);
	for (i=0;i<(int)Write_Cycle_ms(5);i++); /* 5ms write cycle */

	/* Compare the read/write test pattern */ 

        TempData = TestData; /* copy test pattern data memory */
	Print("\r=> Comparing data....");
	for (i=0;i<IICTestSize-1;i++) 
	{
             if (*TempData++ != *DataBuff++) {
		 Print("\r[ERROR] 0x%x : W=%d:R=%d\r",i,*TempData-1,*DataBuff-1); 
		 TestFlag = 0; /* Indicate error occurred */
             }
             PrtIICStatus(i);
             
	} // End of while loop
        Print("Ok\r");
        free(TestData);     /* Return allocated memory to user memory */
	return(TestFlag);
}


void PrtIICStatus(int byte)
{
     char buff[MAX_LINE_BUF];
     int  i;
    
     //sprintf(buff,"=> R&W pattern compare : %dbyte",byte); 
     //put_string(buff); /* to console */
     //for(i=0;i < sizeof(buff);i++)  put_byte('\b'); 
     IOPDATA = ~(1<<(byte%4));  /* to LED */
}



void config_iic(void)
{
       Print("\r<< IIC BUS Special Registers. >>\r\r");
       Print("IICCON   = 0x%x \r", IICCON);
       Print("IICBUF   = 0x%x \r", IICBUF);
       Print("IICPS    = 0x%x \r", IICPS);
       Print("IICCOUNT = 0x%x \r", IICCOUNT);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清精品网站| 99久久久国产精品免费蜜臀| www.亚洲在线| 欧美日本一道本| 日本一区二区三区久久久久久久久不| 亚洲女人的天堂| 国产成人午夜精品影院观看视频 | 成人性生交大片免费看在线播放| 欧美日韩一区三区| 亚洲欧洲色图综合| 国产一区久久久| 日韩一区二区三区观看| 日本午夜精品视频在线观看| www.日韩av| 国产欧美日韩中文久久| 精品一区二区三区视频在线观看| 欧美午夜一区二区| 亚洲视频在线观看一区| 成人一区在线看| 精品国产91九色蝌蚪| 日韩影院在线观看| 欧美日韩国产综合一区二区| 亚洲另类在线制服丝袜| 99久久综合国产精品| 国产午夜精品一区二区三区四区| 精品亚洲欧美一区| 精品国产一区二区三区久久影院| 青草国产精品久久久久久| 在线观看91精品国产麻豆| 亚洲成人免费视| 欧美性生活影院| 亚洲1区2区3区4区| 欧美一级在线视频| 免费观看成人av| 欧美大黄免费观看| 国产一区二区精品在线观看| 国产日产精品一区| gogogo免费视频观看亚洲一| 国产精品国产三级国产有无不卡| av电影在线观看一区| 亚洲视频免费在线观看| 欧美性受极品xxxx喷水| 日韩 欧美一区二区三区| 欧美一区二区精品在线| 麻豆精品视频在线观看免费| 欧美变态tickling挠脚心| 国内精品久久久久影院色| 国产亚洲精品aa| 色综合久久中文综合久久97| 一级做a爱片久久| 欧美一级高清大全免费观看| 国产一区二区三区在线观看精品| 中文字幕成人av| 在线精品观看国产| 久久av中文字幕片| 中文文精品字幕一区二区| 99v久久综合狠狠综合久久| 亚洲欧美一区二区三区极速播放 | 粉嫩av一区二区三区在线播放| 美日韩一区二区三区| 欧美精品一区男女天堂| 99久久久无码国产精品| 日日骚欧美日韩| 久久精品夜色噜噜亚洲a∨| 一本一本大道香蕉久在线精品| 亚洲成av人片在线观看| 国产亚洲一本大道中文在线| 日本黄色一区二区| 精品一区二区三区在线播放视频 | 久久你懂得1024| 色嗨嗨av一区二区三区| 另类人妖一区二区av| 中文字幕在线观看一区二区| 欧美日韩国产美女| av色综合久久天堂av综合| 图片区小说区国产精品视频| 国产欧美久久久精品影院| 欧美日韩一区三区四区| www.欧美日韩| 韩国一区二区三区| 性欧美疯狂xxxxbbbb| 欧美韩国日本不卡| 欧美一区二区性放荡片| 色综合中文字幕国产| 日韩高清欧美激情| 亚洲色图制服诱惑 | 国产精品一二三区在线| 亚洲永久免费视频| 国产精品色噜噜| 欧美日韩不卡一区| 91豆麻精品91久久久久久| 国产成人精品在线看| 美女视频免费一区| 日韩综合小视频| 亚洲一区在线看| 亚洲免费看黄网站| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 青青草视频一区| 一区二区三区美女视频| 国产精品免费观看视频| 精品国产伦理网| 日韩欧美成人午夜| 69p69国产精品| 欧美一a一片一级一片| 99久久精品免费精品国产| 国产一区二区三区蝌蚪| 久久精品国产成人一区二区三区| 亚洲超碰精品一区二区| 夜夜亚洲天天久久| 亚洲精品久久嫩草网站秘色| 亚洲欧美欧美一区二区三区| 亚洲视频综合在线| 国产精品的网站| 中文字幕一区二区三区不卡在线| 久久精品一区四区| 国产欧美日本一区视频| 国产精品国产自产拍高清av | 在线视频中文字幕一区二区| 成人午夜视频网站| 成人午夜电影久久影院| 国产乱码精品1区2区3区| 国产一区二区三区免费在线观看| 黄色日韩三级电影| 国产美女娇喘av呻吟久久| 国产一区二区精品在线观看| 成人亚洲一区二区一| 一本色道久久综合亚洲91| 欧美视频精品在线观看| 欧美日韩国产综合草草| 日韩一本二本av| 久久久精品国产免大香伊| 中文字幕的久久| 亚洲乱码一区二区三区在线观看| 亚洲综合999| 美女任你摸久久 | 67194成人在线观看| 欧美成人精品二区三区99精品| 欧美成人精精品一区二区频| 中文字幕免费一区| 亚洲午夜精品一区二区三区他趣| 日韩av电影一区| 国产成人av一区二区三区在线 | 日韩三级高清在线| 久久九九全国免费| 亚洲视频免费看| 乱中年女人伦av一区二区| av在线不卡免费看| 制服丝袜国产精品| 欧美国产一区视频在线观看| 亚洲一区二区三区国产| 精品一区中文字幕| 在线免费观看日本欧美| 日韩一二三区视频| 亚洲精品日韩专区silk| 久久99九九99精品| 色婷婷综合久色| 久久久亚洲综合| 亚洲国产日韩a在线播放性色| 精品一二三四区| 欧美日韩精品是欧美日韩精品| 久久夜色精品国产噜噜av| 怡红院av一区二区三区| 国产乱人伦偷精品视频不卡| 在线精品视频一区二区三四| 国产欧美日韩不卡免费| 日日噜噜夜夜狠狠视频欧美人| 成人国产精品免费网站| 日韩女优电影在线观看| 亚洲精品精品亚洲| 国产成人啪免费观看软件| 欧美一区二区三区播放老司机| 国产精品久久看| 国内精品在线播放| 日韩免费观看高清完整版在线观看| 中文字幕一区二区三区蜜月| 国产在线精品免费| 日韩一区二区在线免费观看| 亚洲精品一二三四区| 99视频精品在线| 国产嫩草影院久久久久| 国产精品香蕉一区二区三区| 日韩一区二区麻豆国产| 亚洲福中文字幕伊人影院| 99re热视频精品| 中文字幕的久久| 粉嫩蜜臀av国产精品网站| 久久免费视频一区| 久久66热re国产| 337p日本欧洲亚洲大胆色噜噜| 美女视频网站久久| 日韩欧美另类在线| 麻豆精品视频在线观看| 欧美一级高清大全免费观看| 青青草视频一区| 欧美一区二区三区小说| 日av在线不卡| 日韩美女主播在线视频一区二区三区| 五月天一区二区| 欧美一区二区三区啪啪| 蜜臀va亚洲va欧美va天堂 |