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

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

?? iic_test.c

?? 三星4510開發(fā)板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一区二区三区免费野_久草精品视频
欧美电影精品一区二区| 亚洲一区二区欧美日韩| 亚洲精选免费视频| 捆绑变态av一区二区三区| av亚洲精华国产精华精| 3d动漫精品啪啪一区二区竹菊| 国产日韩欧美综合一区| 天天综合色天天综合| 91免费在线播放| 亚洲精品一区二区三区精华液| 一区二区在线观看视频在线观看| 国产精品一区二区91| 91精品国产麻豆国产自产在线| 中文字幕佐山爱一区二区免费| 国内精品写真在线观看| 日韩精品一区二区三区视频播放| 一区二区三区在线看| 丰满少妇在线播放bd日韩电影| 精品乱码亚洲一区二区不卡| 日韩电影在线观看电影| 欧美日韩在线观看一区二区 | 国产.欧美.日韩| 9191国产精品| 一区二区三区四区中文字幕| 91在线视频免费91| 国产精品国产三级国产a | 在线视频一区二区免费| 中文字幕在线不卡| 成人h精品动漫一区二区三区| 国产亚洲欧美色| 国产不卡免费视频| 欧美国产丝袜视频| 99久久99久久精品免费观看| 综合色中文字幕| 色天天综合久久久久综合片| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲精品第一国产综合野| 成人国产精品免费观看视频| 国产精品久99| 97久久精品人人澡人人爽| 亚洲欧洲精品一区二区三区 | 成人午夜免费电影| 国产天堂亚洲国产碰碰| 成人国产精品视频| 亚洲一区影音先锋| 88在线观看91蜜桃国自产| 美女脱光内衣内裤视频久久网站| 精品久久久久99| 成人午夜免费视频| 一区二区三区精品| 日韩欧美在线网站| 国产成人a级片| 一区二区在线观看视频| 欧美一区二区视频免费观看| 国产成人啪免费观看软件| 亚洲欧洲美洲综合色网| 欧美二区在线观看| 精久久久久久久久久久| 国产精品久久久久天堂| 欧美日韩一区中文字幕| 国产在线视频一区二区| 亚洲三级电影全部在线观看高清| 欧美日韩你懂得| 国产主播一区二区三区| 亚洲精品你懂的| 日韩免费福利电影在线观看| 大美女一区二区三区| 亚洲一区二区偷拍精品| 久久一留热品黄| 欧美综合一区二区| 国产一区亚洲一区| 亚洲综合在线视频| 久久伊人中文字幕| 91久久免费观看| 国产精品99久久久久久久女警| 亚洲男人天堂av网| 精品国产99国产精品| 91国模大尺度私拍在线视频| 国产一区二区伦理| 亚洲h动漫在线| 欧美国产成人精品| 欧美一区二区精品在线| 色诱视频网站一区| 国产高清无密码一区二区三区| 亚洲午夜精品在线| 国产精品乱码久久久久久| 日韩午夜精品视频| 91激情五月电影| 欧美精品一二三| 国产91在线观看丝袜| 婷婷一区二区三区| 亚洲精品视频免费看| 亚洲国产精品激情在线观看| 精品剧情v国产在线观看在线| 色婷婷综合视频在线观看| 国产高清精品在线| 精品一区二区在线观看| 日韩高清不卡在线| 一区二区三区在线免费视频 | 日韩电影免费一区| 亚洲午夜在线电影| 亚洲三级免费观看| 日韩一区日韩二区| 国产精品国产三级国产普通话三级 | 国产麻豆精品视频| 喷水一区二区三区| 亚洲在线视频一区| 亚洲伦理在线精品| 亚洲另类在线视频| 亚洲欧美日韩国产另类专区 | 一本色道久久加勒比精品| 成人在线一区二区三区| 大尺度一区二区| 北条麻妃国产九九精品视频| 国产精华液一区二区三区| 久久99国内精品| 国产精品一色哟哟哟| 国产成人午夜精品影院观看视频 | 91天堂素人约啪| 91麻豆国产自产在线观看| 北岛玲一区二区三区四区| 99国产精品久| 91成人在线精品| 欧美日韩国产综合一区二区| 欧美男人的天堂一二区| 日韩视频免费观看高清完整版在线观看| 欧美日韩aaa| 日韩精品一区二区三区四区视频| 亚洲精品一线二线三线| 久久精子c满五个校花| 国产精品视频一区二区三区不卡| 国产精品丝袜黑色高跟| 一区二区视频在线| 午夜精品123| 国产毛片精品视频| a在线欧美一区| 欧美色大人视频| 欧美成人三级电影在线| 国产三级久久久| 亚洲综合免费观看高清在线观看| 性欧美大战久久久久久久久| 卡一卡二国产精品 | 亚洲精品伦理在线| 亚洲成人福利片| 精品在线播放午夜| 91小视频在线免费看| 9191久久久久久久久久久| 国产三级精品三级在线专区| 亚洲欧美色图小说| 日产精品久久久久久久性色| 国产精品88av| 91蜜桃婷婷狠狠久久综合9色| 欧美日韩精品三区| 久久久99精品免费观看| 一区二区在线观看免费视频播放| 裸体健美xxxx欧美裸体表演| 99热99精品| 欧美成人aa大片| 亚洲丝袜精品丝袜在线| 久久精品国产久精国产爱| 97超碰欧美中文字幕| 日韩三级视频在线看| 亚洲三级理论片| 国产真实乱子伦精品视频| 欧美午夜免费电影| 国产精品全国免费观看高清| 五月天中文字幕一区二区| 处破女av一区二区| 欧美一级欧美三级在线观看| 自拍偷拍国产精品| 国产成人免费在线视频| 欧美一级淫片007| 亚洲高清视频的网址| 丁香激情综合国产| 精品久久久久久最新网址| 亚洲18影院在线观看| 色偷偷久久一区二区三区| 中国av一区二区三区| 卡一卡二国产精品 | 欧美性猛交xxxxxx富婆| 欧美国产激情二区三区| 国内精品久久久久影院薰衣草| 欧美亚洲高清一区二区三区不卡| 中文字幕av资源一区| 国产一区二区三区久久悠悠色av| 欧美少妇一区二区| 亚洲精品久久嫩草网站秘色| 99免费精品在线观看| 国产精品国产三级国产普通话99| 国产在线观看免费一区| 精品区一区二区| 美女一区二区三区| 日韩精品一区在线| 精品亚洲成av人在线观看| 精品三级在线观看| 玖玖九九国产精品| 久久影院午夜片一区| 国产一区视频网站| 亚洲国产精品精华液2区45| 波多野结衣视频一区|