1,单片机内部i2c接口传输距离

很短的,一般只用于PCB 内部的,而且距离长的话通信速率也要降低的,有人试过75厘米还能用 不过我认为差不多十几厘米极限了

单片机内部i2c接口传输距离

2,I2C总线只是用在电路板上这个用不用在远距离通信上面

首先这个 只能用在 电路板上面 不然还用什么上面, 距离和 抗干扰都不是很强 RS485可以到1200米
你好!不用吧希望对你有所帮助,望采纳。

I2C总线只是用在电路板上这个用不用在远距离通信上面

3,我想知道SPI的通讯距离是多少 还有I2C的通讯距离 谢谢

不是
SPI 几米,I2C最多可达1公里
网上有大把51与2510/15通讯的例程,参考其改动改动就行。2515这头好说,关键是你得把ARM9的同步串行接口模块弄明白。

我想知道SPI的通讯距离是多少 还有I2C的通讯距离 谢谢

4,真心求教困扰半年了I2C传输问题

先分析你的问题:0. 无法传输 1. 卡主 2. I2C找不到从设备地址 3.干扰0. 无法传输:晃动几下又好 ->是否是接触不良的问题,先想办法确认没有接触不良。3. 干扰问题:你提到测试通过了,测试的环境是否也可以用相同的距离晃晃。然后在实际环境能否把线接短,再晃晃试试。2. I2C找不到从设备:可否理解为从设备没有接收到正确地址,没有ACK给主设备?这种情况下主设备只有多试几次就可以了,怎么会卡主?如果是因为不停尝试而导致通讯卡住,则根本的问题在硬件连接和干扰。能否有证据确定是因为不停尝试而导致通讯阻塞?1. 卡主:是不是主从设备都要有超时处理,来处理卡主的问题?真正的问题好像还没有出现,能否再进一步把问题找出来?然后再考虑具体解决的办法。如果需要进一步联系可以留下email。

5,I2C总线协议的线少封装简单等优点是对比谁说的

IIC现在用在芯片级的通讯中比较流行,控制方式简单,器件封装形式小,通信速率较高1、和I/O通讯比,接口线少,器件封装形式小,缺点是控制方式比I/O稍复杂;2、和SPI通讯比,接口线少,控制方式简单,缺点是通讯速率比SPI慢;3、和RS232/RS485通讯比,控制方式简单,器件封装形式小,通信速率高,缺点是没有RS232、RS485通讯距离远并且不能和PC通讯;4、和USB通讯比,控制方式简单,器件封装形式小,缺点是没有USB通讯距离远、通讯速率低并且不能和PC通讯;5、和并口(centronic,ecp,epp)协议比,接口线少,器件封装形式小,缺点是没有并口通讯距离远、通讯速率低并且不能和PC通讯。以上希望能帮到您。
i2C用在芯片通讯上主要再看看别人怎么说的。

6,求解单片机89c52的i2c通讯的问题

你这个程序写的我看都有点说不过去了,一个初学者经常犯的错误,也算是非常致命的的错误,一看也知道你是个初学者,我这这里有你点教训,再编写程序后出现问题不知道哪里错了,那你要通过keil编译器里面的仿真单步调试,仔细查看程序是否安装你的要求一步一步执行的,新手一定要学会自己调试仿真,否则你以后再单片机这个行业会吃尽苦头,希望你能明白我上面说的,废话不多少你程序里面有很多错误。延时程序里面是进入了死循环,看下面:unsigned char j,k;void delay(unsigned char i) for( j=i; i>0; j--)//看这里是否有问题; for(k=125;k>0;k--);}j = 1; i > 0; j--这条语句里面i大于0是一直为真的,所以程序会一直执行来回判断,所以程序就停留在了延时这了,造成你的数码管一直不显示。你的显示程序里面没有选择位,你还需要修改一下。
搜一下:求解单片机89c52的i2c通讯的问题

7,I2C通信的内容

I2C的时序是比较复杂的,你如果能把I2C的时序弄清,那其他器件的时序都不成问题了。我就按照我的理解来跟你讲吧。直接用程序来说明吧。NOP(),一个机器周期时间的延迟,12M晶振时为1微秒NOPS(),4个NOP()。sbit SDA P2^0;sbit SCL P2^1; 定义数据线和时钟线接口首先,I2C有2个重要的线,SDA数据线SCL时钟线,当总线上没有进行信息传送时,SDA和SCL都为高电平,我们称之为释放总线。开始传送信息时,要有一个开始信号,开始信号 :定义为在SCL为高电平的时候,SDA从高电平拉低。start() SDA=1; NOP(); //同你图中 SDA/SCL上升/下降所用时间 1US SCL=1; NOPS(); //建立开始信号(同你图中TSU起始信号建立时间一样4US) SDA=0; //SDA拉低 NOPS(); SCL=0; //SCL拉低, 钳住总线,准备发送或接收数据 NOP();}结束信号:与开始信号相反,在SCL为高电平时,SDA从低拉高stop() SDA=0; NOP(); SCL=1; NOPS(); //建立信号时间 SDA=1; //拉高 结束。 NOPS();}我晕,发现写了半天还有好多。。算了 帮人帮到底了发送/接收一个数据:数据的发送和接收都是在SCL为低电平的时候发生,因为SCL为高电平时已给了开始和结束信号。发送数据时,当数据准备读入时,将SCL线暂时拉高(SCL为高时,SDA无法改变状态),保持一段时间然后拉低(同你图中的TDH,数据输出保持时间),这时数据则发送完毕到SDA上。接收则与之大同小异。当SDA线上有数据过来时,先将SCL拉高,建立好时间,然后拉低,数据则被读入。(关于如何被发出以及如何被读入则是芯片做的事,我们不用管,只需记住SCL拉低,数据发出/读入)用程序来讲就是:send(uchar c) //发送一个字节 uint i; for(i=0;i

文章TAG:i2c通信距离大概有多少通信  距离  大概  
下一篇