查看: 2159|回复: 6
|
什么是I2C bus? 什么是SPI bus?
[复制链接]
|
|
如题目所说的,各位前辈可以帮忙解释一下吗?还有I2C 和 SPI 的分别? |
|
|
|
|
|
|
|
发表于 18-11-2008 07:42 AM
|
显示全部楼层
原帖由 热爱音乐 于 18-11-2008 03:16 AM 发表
如题目所说的,各位前辈可以帮忙解释一下吗?还有I2C 和 SPI 的分别?
这种大题目, 请问你Google了吗?
如果google了有不明白的地方, 就再问那个你不明白的。
I2C 和 SPI 的分别, 不是几个字可以讲清楚的。
简单讲, I2C只用两个IO (Clock, Data), 可以双向半工传输资料, 速度比SPI慢, 优点是可以multidrop 很多个‘点’。
SPI, 用更多的IO(DataIn, DataOut, Clock, Select), 可以单向/双向传输资料, 速度最快。 |
|
|
|
|
|
|
|
发表于 18-11-2008 10:37 PM
|
显示全部楼层
原帖由 pic 于 18-11-2008 07:42 AM 发表
这种大题目, 请问你Google了吗?
如果google了有不明白的地方, 就再问那个你不明白的。
I2C 和 SPI 的分别, 不是几个字可以讲清楚的。
简单讲, I2C只用两个IO (Clock, Data), 可以双向半工传输资料, ...
补充一点。 i2c 两条signal line (SCL, SDA)可以接去128个device (没错的话)
spi要做到这点, chip select那边需要很多条signal.. |
|
|
|
|
|
|
|
发表于 9-5-2009 03:45 AM
|
显示全部楼层
原帖由 pic 于 18-11-2008 07:42 AM 发表
SPI, 用更多的IO(DataIn, DataOut, Clock, Select), 可以单向/双向传输资料, 速度最快
想请问SPI的Clock,要如何set?
因为我用2个pic16f877a,一个master,一个slave。
master 的osc 是20mhz,但是slave的是4mhz。
google 很久了,还是没头绪。
谢谢。 |
|
|
|
|
|
|
|
发表于 11-5-2009 10:20 PM
|
显示全部楼层
原帖由 zew 于 9-5-2009 03:45 AM 发表
想请问SPI的Clock,要如何set?
因为我用2个pic16f877a,一个master,一个slave。
master 的osc 是20mhz,但是slave的是4mhz。
google 很久了,还是没头绪。
谢谢。
其实不知道你的应用, 为什么要用到SPI, I2C, Usart也可以考虑的。。。
我很少用Hardware SPI, 都是用习惯用任何一个I/O pin 来做Software SPI 。
你Master 的 clock, 可以选择 FOsc/4, FOsc/16, FOsc/64 来配合。。 。
如果不行, 就用SoftwareSPI, 自己bit banging。。。 |
|
|
|
|
|
|
|
发表于 12-5-2009 10:35 AM
|
显示全部楼层
回复 5# pic 的帖子
没有什么用途。只是在master 和slave 之间send ascii,纯粹想试试这个功能。在master 和 slave 放7 segment decoder来显示output。
发现clk 出问题。请问是software spi是怎样做? |
|
|
|
|
|
|
|
发表于 12-5-2009 06:35 PM
|
显示全部楼层
原帖由 zew 于 12-5-2009 10:35 AM 发表
没有什么用途。只是在master 和slave 之间send ascii,纯粹想试试这个功能。在master 和 slave 放7 segment decoder来显示output。
发现clk 出问题。请问是software spi是怎样做?
如果你是用CCS C, 请参考:
\drivers\74165.c,
\drivers\74595.c |
|
|
|
|
|
|
| |
本周最热论坛帖子
|