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