阅读:1960回复:3
wince同时使用saa7113,zlg7290,IIC冲突如何处理?
s3c2440,wince4.2
使用saa7113输入视频,通过iic控制,用zlg7290做键盘也是用iic控制。 iic没有做成单独的驱动,在各自的驱动中直接控制iic传输数据。 saa7113视频与zlg7290键盘,单独使用都已正常,两个一起使用时出现以下问题: 在各自的saa7113与zlg7290驱动中iic部分都有这句:InterruptInitialize (SYSINTR_IIC, IIC_InterruptEvent, NULL, 0); 在saa7113中使用了InterruptInitialize 后,在zlg7290中InterruptInitialize 就无法返回true。 原因很简单,中断与事件只能关联一次,就是不知道解决更好? InterruptInitialize 相反功能的函数是什么?就是要解除中断事事件的关联。 请大牛们帮忙! |
|
沙发#
发布于:2008-09-20 00:42
建议单独做一个流接口的I2C驱动,里面读写函数用mutex防止冲突。
saa7113和zlg7290驱动里面来调用I2C驱动。 |
|
|
板凳#
发布于:2008-09-23 14:50
前面没有分析清楚,saa7113初始化后就不用iic了。
saa7113初始后,用InterruptDisable(SYSINTR_IIC);解除中断与事件的关联,zlg7290就可以使用IIC的中断了。 |
|
地板#
发布于:2008-09-23 15:56
单独做一个I2C的驱动,其他的驱动调用这个来操作I2C,在I2C驱动里面保证不发生冲突
|
|