打印
[STM32F1]

两块板子iic通信从机有什么办法主动向主机发数据啊?

[复制链接]
楼主: Undshing
手机看帖
扫描二维码
随时随地手机跟帖
41
chenci2013| | 2023-10-17 16:46 | 只看该作者 回帖奖励 |倒序浏览
在I2C通信中,从机不能主动发送数据,开始条件都是由主机生成。

使用特权

评论回复
42
sfd123| | 2023-10-17 17:20 | 只看该作者
不可能,你了解IIC协议就知道,clk是主机给的

使用特权

评论回复
43
bestwell| | 2023-10-17 17:30 | 只看该作者
从机在接收到主机的信号后,进入中断处理程序,然后立即向主机发送数据。此时,从机必须先向主机发送一个起始条件,然后才能发送数据。

使用特权

评论回复
44
adolphcocker| | 2023-10-17 18:48 | 只看该作者
通常从机设备是被动接收主机的命令和数据。

使用特权

评论回复
45
uptown| | 2023-10-17 19:29 | 只看该作者
发送数据之前,从机需要先发送一个起始信号,然后发送数据,最后发送一个停止信号。

使用特权

评论回复
46
kkzz| | 2023-10-17 21:38 | 只看该作者
如果需要从机主动向主机发送数据,可以采用中断的方式。

使用特权

评论回复
47
cashrwood| | 2023-10-17 22:44 | 只看该作者
从机需要等待主机发送指令,然后根据指令来响应或发送数据。

使用特权

评论回复
48
mattlincoln| | 2023-10-18 21:38 | 只看该作者
可以采用软件模拟I2C的方式,从机的代码可以通过控制GPIO来模拟I2C协议中的起始条件和数据传输。

使用特权

评论回复
49
ingramward| | 2023-10-18 21:46 | 只看该作者
从机只能被动接收主机发送的数据,无法主动向主机发送数据。

使用特权

评论回复
50
bartonalfred| | 2023-10-18 22:15 | 只看该作者
一般情况下,从机会在接收到主机的信号后,根据主机发送的指令和数据,进行相应的应答和数据返回。

使用特权

评论回复
51
1988020566| | 2023-10-22 10:58 | 只看该作者
需要让主机先发送一个起始信号,然后从机才能发送数据。

使用特权

评论回复
52
mikewalpole| | 2023-10-22 12:15 | 只看该作者
只有在生成起始条件后,才会从从机模式自动切换到主机模式。

使用特权

评论回复
53
guijial511| | 2023-10-22 14:04 | 只看该作者
IIC从机不能主动发送数据,从机如果有IO的话,可以向主机发送IO中断信号,让主机立即读取数据。

使用特权

评论回复
54
digit0| | 2023-10-23 11:55 | 只看该作者
时钟旌旗灯号只能由主机自动倡议

使用特权

评论回复
55
理想阳| | 2023-10-23 13:26 | 只看该作者
也可以通过其他方式进行交流

使用特权

评论回复
56
LLGTR| | 2023-10-23 13:51 | 只看该作者
换句话说,奴隶不也是你造的吗?

使用特权

评论回复
57
V853| | 2023-10-23 14:28 | 只看该作者
如果你说这是不可能的,就使用串行端口。

使用特权

评论回复
58
香水城| | 2023-12-12 08:19 | 只看该作者
本帖最后由 香水城 于 2023-12-17 20:27 编辑

主收从发是可以的,时钟依然是主提供。
当然 如果希望从 单纯地主动发起通信那是不行的。从只能配合。

使用特权

评论回复
59
AIsignel| | 2023-12-12 15:34 | 只看该作者
不能,iic只能由主机发起

使用特权

评论回复
60
Clyde011| | 2024-1-9 09:08 | 只看该作者

要将多余空间去除。对于第一个字符从第一行开始向下扫描,把那些一行中所有的点的灰度值全为0的点去掉,直到扫描到有一行不全为0时为止。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则