关于2.6iic多主通信的问题

[复制链接]
查看11 | 回复3 | 2021-1-27 07:16:57 | 显示全部楼层 |阅读模式
最近看到2410中iic的适配器驱动,
发现在传输开始s3c24xx_i2c_doxfer先打开中断,
然后有中断函数完成数据传输后又关闭中断。
想问问大虾
这个驱动是否使用于多主通信系统中,在多主系统中是否要一直打开中断

还有一个关于ack的问题:
在主机发送一字节数据后,从设备给一个ack,在中断中是否一定样检查ack
我在程序中发现只有在主机发送从设备地址后才检查了ack---if(iicstat&S3C2410_IICSTAT_LASTBIT)而
在传数据时没检查

分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:16:57 | 显示全部楼层
没人回答,帮顶一下...
回复

使用道具 举报

千问 | 2021-1-27 07:16:57 | 显示全部楼层
1。打开中断。
2。ACK产生条件:从器件被寻址,发送ACK到主机,主机来确认从器件发送过来的ACK。明白这一点,其余的我们就知道代码如何写了。

回复

使用道具 举报

千问 | 2021-1-27 07:16:57 | 显示全部楼层
i2c通讯有两种方式,一种是中断,就是接收到从设备的ACK后才产生中断,所以我认为中断方式不检查ACK也可以,还有一种就是等待ACK,当然就不用中断了。
(这个与多主还是一个主没关系,i2c协议本身就有检测总线冲突的功能)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行