SPI都有哪些用法?

SPI都有哪些用法?时序是程序自己编的吗?还是根据什么?
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:4
littleHi 2015-07-13
是一种协议的,对于接受SPI协议的模块是有用的
0   回复
举报
发布
fighter 2015-06-30
楼主是来混水的吧
0   回复
举报
发布
fjjjnk1234 2015-06-30
可以驱动带有SPI接口的器件,比如EEPROM、AD······或者进行通信,如果使用硬件SPI,只需要配置相关的寄存器就能完成通信(当然对SPI的通信过程也要了解),如果使用软件SPI,需要严格按照SPI的通信协议编写程序,看懂时序图很重要,调试过程可以借助逻辑分析仪。
0   回复
举报
发布
格古落 2015-06-30
SPI是一种串行接口,是同步的串口。
意思就是说,双方事先不约定通信频率,主机以同步脉冲来控制从机接收数据的速度,
有些单片机内置了SPI控制器,使用的时候,设置好以后,把要发送出去的数据放到控制器的寄存器里面,就不用CPU操心了,SPI控制器会自动把数据发出去。

没有SPI控制器的单片机也可以用IO口来模拟SPI通信,IO口的每一个高低电平变化都由软件来控制,相对麻烦一点,占用CPU的资源也比较多。


可以在网上找相关的协议,简单地说就是一个时钟线一个数据线,规定上升沿还是下降沿读取数据。比如发一个字节的00111100,从低位开始发送,上升沿读取数据,就是下面的流程
拉低时钟,数据线为0(最低位),当数据线信号稳定后,拉高时钟,这样就把最低位发出去了
拉低时钟,数据线为0(次低位),当数据线信号稳定后,拉高时钟,这样就把次低位发出去了
拉低时钟,数据线为1(次低位),当数据线信号稳定后,拉高时钟,这样就把第3位发出去了
……
还有一个使能端信号要在发数据的时候置位

0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子