arm7000
驱动牛犊
驱动牛犊
  • 注册日期2007-01-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望16点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:1960回复:3

wince同时使用saa7113,zlg7290,IIC冲突如何处理?

楼主#
更多 发布于:2008-09-19 10:33
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 相反功能的函数是什么?就是要解除中断事事件的关联。
请大牛们帮忙!
cool_harber
驱动小牛
驱动小牛
  • 注册日期2003-03-01
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分524分
  • 威望132点
  • 贡献值0点
  • 好评度126点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-09-20 00:42
建议单独做一个流接口的I2C驱动,里面读写函数用mutex防止冲突。
saa7113和zlg7290驱动里面来调用I2C驱动。
博客:www.cnblogs.com/harber
arm7000
驱动牛犊
驱动牛犊
  • 注册日期2007-01-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望16点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-09-23 14:50
前面没有分析清楚,saa7113初始化后就不用iic了。
saa7113初始后,用InterruptDisable(SYSINTR_IIC);解除中断与事件的关联,zlg7290就可以使用IIC的中断了。
pumbpeng
驱动牛犊
驱动牛犊
  • 注册日期2002-10-08
  • 最后登录2010-04-02
  • 粉丝0
  • 关注0
  • 积分185分
  • 威望32点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-09-23 15:56
单独做一个I2C的驱动,其他的驱动调用这个来操作I2C,在I2C驱动里面保证不发生冲突
游客

返回顶部