[ZLG-ARM] 请教,关于LPC2292的I2C总线的问题

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

试试

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2CsendByte();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OsTimeDly(10);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2cReadByte();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OsTimeDly(10);<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部