不使用查询方式,如何读取但又不影响另外两机(一主一从)的I2C通信(包括读和写)?有什么型号的单片机比较方便做这个活?
本人目前使用stm8s来做,但是进入中断的时候I2C总线的DATA传输已经完成了一个时钟,所以无法获取主机读从机时的完整数据。请问这个有没有什么简单的办法实现?
本来是因为主从双方通信容易受第三方干扰而自锁保护,所以不敢直接挂上I2C总线,而是监听隔离出来的信号。
我这里单片机的速度是16M,I2C的速度是400K,用IO边沿触发根本就来不及。
后来发现隔离的话无法实现同步,于是冒险直接挂上总线,铤而走险。
谢谢各位的回答!
我这里单片机的速度是16M,I2C的速度是400K,用IO边沿触发根本就来不及啊。
追答像样点儿的M3,16MHz,几个周期就进中断了,区区400kHz还采不到?
另外我给你的提示你似乎没明白……重点在于SCL的上升沿!
单片机如何监听监视另外两机的I2C通信内容?
给你个思路:你要明白I²C总线的本质就是沿触发+锁存。所以实际上两个IO的沿中断就足以搞定任何标准或不标准的I²C总线。
我想用一个单片机去控制另外一个单片机,如何连接以及相应的数据...
某温度数据采集系统有主、从机进行串行通讯,假定双机的系统时钟频率fosc=11.0592MHz,通讯速率9600bps,主机每次将温度数据temperature的值发送给从机,从机则将收到的数据送到显示器上显示,试完成双机通信程序设计。分析:设定时器1工作于方式2,TMOD=00100000b=0x20。定时器的初值计算:9600=K*fosc\/...
老师好,请问一块单片机如何调用另一块单片机的端口电机的程序各输哪些...
I2C_Stop(); \/\/ 停止I2C通信 while(1); \/\/ 无限循环,保持程序运行 } 然后,在Slave单片机上编写代码来接收I2C命令,并根据接收到的命令来控制端口。这里是一个简单的示例:include <reg51.h> include "I2C.h" \/\/ I2C通信库 define SLAVE_ADDRESS 0x50 \/\/ Slave单片机的I2C地址 void ma...
两个51单片机如何通过i2c通讯?
一般情况下,要进行I2C通讯,你最起码其中有一个芯片要本身就带有I2C通讯接口,用这个带有I2C接口的芯片来作从器件,这样就相对好处理一点。你要是两个都不带这个接口,来模拟的话,很有难度。除非你对I2C协议很清楚,不过从楼主的提问来看,估计就不怎么熟悉这种协议。所以建议还是用别的通讯方式吧,比...
51单片机之间能用i2c协议通信吗
可以,两个51单片机之间可以用I2C通信,有同步和异步两种,郭天祥的51书里有具体的讲解,你可以去看看
51单片机模拟IIC总线问题
假设你有两台或者以上的S3C2410,单片机作为主机,然后单片机发送数据,所有S3C接收(接收的前提是他的接收端口上获得IIC的开始信号,你可以选择利用中断进行检测),然后你在软件里可以预先设置好每台S3C的地址,即接收单片机的前8BIT,然后对照地址,一样的话就开始接收接下来的信息,没有就放弃这个通信,这...
从机是怎么检测I2C信号的
如果是硬件I2C一般自己会检测到,如果是软件I2C则需要自己在程序里面判断,发送一位的时间由你设置的速率决定
单片机的多机通信是,如何设置从机的地址。
一般是由编程者自己来确定地址,或者通过硬件来设置,硬件地址设置通过电路板上的拨码开关来选择,例如下面这个图,有两个拨码开关,两位就00、01、10、11四个地址,依次类推,摄像监控云台控制里就是通过这种办法来设置的从机地址(一般是485通信)...
用I2C实现两单片机联机,接收程序怎么写?
2. 配置中断,以便在数据传输过程中及时响应。3. 在中断服务程序中,解析I2C状态码,判断数据传输的完成、错误或等待状态,并执行相应的操作。4. 根据实际需求,实现数据接收、错误处理和数据处理逻辑。通过上述步骤,接收程序能够高效地处理来自另一个单片机的数据传输,并做出相应的响应。这不仅提高了通信...
I2C 单片机程序 在检测从机应答的时候,SDA是什么时候变化的
这个I2C的协议决定的。当你发送完数据之后,将SCL(时钟线)和SDA(数据线)同时置高,等待应答信号,应答信号就会将SDA的电平变低,从而实现应答的效果。你记住一点就是I2C是两个设备之间的通信,将两个线置高的是主设备,然后等待从设备将SDA数据线拉低,主设备检测到SDA线拉低,就说明从设备应答了...