?? i2c_test.c
字號:
/***************************************************************************
* Copyright Faraday Technology Corp 2002-2003. All rights reserved. *
*--------------------------------------------------------------------------*
* Name:I2C_test.c *
* Description: I2C test program *
* Author: Allen Hsu *
****************************************************************************/
#include <cyg/io/i2c.h>
#include <cyg/infra/cyg_type.h>
#include <cyg/hal/pmu_support.h>
#include <cyg/hal/codec_support.h>
#include <cyg/hal/sysc_support.h>
#include "stdio.h"
#include "stdlib.h"
#include <cyg/hal/plf_io.h>
int main(void)
{
int i,test;
cyg_uint8 addr,data;
cyg_int32 ret;
for (test = 0; test < 5;test++){
data = test;
for(i=0;i<0x100;i++){
addr = i;
cyg_i2c_transaction_begin(&hal_fie702x_i2c_eeprom);
ret = cyg_i2c_transaction_tx(&hal_fie702x_i2c_eeprom, true, &addr, 1, false);
cyg_thread_delay(1);
if(ret != 0)
{
cyg_i2c_transaction_end(&hal_fie702x_i2c_eeprom);
diag_printf("I2C eeprom R/W Test fail 1\n");
return -1;
}
ret = cyg_i2c_transaction_tx(&hal_fie702x_i2c_eeprom, false, &data, 1, true);
cyg_thread_delay(1);
if(ret != 0)
{
cyg_i2c_transaction_end(&hal_fie702x_i2c_eeprom);
diag_printf("I2C eeprom R/W Test fail 2\n");
return -1;
}
cyg_i2c_transaction_end(&hal_fie702x_i2c_eeprom);
// cyg_thread_delay(1);
}
for (i=0;i<0x100;i++){
addr = i;
cyg_i2c_transaction_begin(&hal_fie702x_i2c_eeprom);
if(cyg_i2c_transaction_tx(&hal_fie702x_i2c_eeprom, true, &addr, 1, false) != ENOERR) {
cyg_i2c_transaction_end(&hal_fie702x_i2c_eeprom);
diag_printf("I2C eeprom R/W Test fail 4\n");
return -1;
}
cyg_thread_delay(1);
cyg_i2c_transaction_rx(&hal_fie702x_i2c_eeprom, true, &data, 1, true, true);
cyg_thread_delay(1);
cyg_i2c_transaction_end(&hal_fie702x_i2c_eeprom);
// cyg_thread_delay(1);
if(data != test){
diag_printf("I2C eeprom R/W Test fail 5\n");
return -1;
}
}
diag_printf("EEPROM I2C R/W test %d\n", test);
}
diag_printf("I2C eeprom R/W Test pass \n");
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -