我的硬件设计是LPC2292挂接一片E2ROM 24CO4,一片温度传感器DS1631,
easy2200评估板配套的I2C总线程序可以正常运行,但是这个例程没有用UC/OS, 我将这个例程移至到UC/OS下运行不正确,进入I2C中断后I2C的状态寄存器总是0x30,例程上的注释是总线错误。 我的移植大概是这样的 定义一个任务函数 void task0() { initialI2C(); 这个函数是周工提供的I2C中间件里的,我将中断设置部分的代码注释掉,将中断设置的工作放到target。c文件里的VICinitial函数里做了,将中断地处理函数地址指向I2CIrq函数。 while(1)
{ I2CsendByte(); I2cReadByte(); OsTimeDly(10); }
} 进入I2C中断后I2C的状态寄存器总是0x30,例程上的注释是总线错误。 不知道是什么原因阿,请高手指点啊。 |