2009年9月16日星期三

DM355的I2C调试

利用达盛的例程,pcf8574t开始老是报错:
DaVinci I2C WARNING: i2c: NACK detected
DaVinci I2C WARNING: i2c: RAR detected
这个报错是因为从设备没有反馈导致的,
后来发现是8574的地址写错了,导致I2C控制器老出现错误中断。
改正后测试I2C的SCL线的clock为400KHz。
为了和单片机连,需要降频。
修改drivers/i2c/buses/i2c-davinci.c文件
static int __init i2c_davinci_init(void)
{
int status;
struct device *dev = NULL;
DEB0("%s %s", __TIME__, __DATE__);
DEB1("i2c_davinci_init()");
/*
* NOTE: On DaVinci EVM, the i2c bus frequency is set to 20kHz
* so that the MSP430, which is doing software i2c, has
* some extra processing time
*/
if (machine_is_davinci_evm())
i2c_davinci_busFreq = 20;
else if (i2c_davinci_busFreq > 200)
i2c_davinci_busFreq = 400; /*Fast mode */
else
i2c_davinci_busFreq = 100; /*Standard mode */
i2c_clock = clk_get (dev, "I2CCLK");
}

没有评论: