SPI概念及使用

SPI是串行设备接口的(serial Peripheral Interface)简称。SPI是一种高速的,全双工,同步的通信总线。SPI

在芯片管脚上只占4根线。


二、单机与多机通信


1、单机通信

SCLK-------->SCLK

MOSI---------->MOSI

MISO<-----------MISO

SS ------------>ss

SCLK :串行时钟线,用于数据同步

  MOSI:主机输出数据,从机输入数据。

    Master ouput Slave input

MISO:主机输入数据,从机输出数据。


2、多机通信



三、通信的细节与过程

、模拟SPI接口

在有些情况下没有硬件SPI的支持,只能通过IO口来模拟SPI时序图,参考代码如下:

uint8_t SPI1_SendByte(uint8_t byte)

{

uint32_t i=0;

uint8_t d=0;

for(i=0; i<8; i++)

{

//MSB,最高有效位发送数据

if(byte & (1<<(7-i)))

W25QXX_MOSI =1;

else

W25QXX_MOSI =0;

//设置SCLK引脚为低电平,这个时候,从机会开始读取MOSI引脚电平

W25QXX_SCLK=0;

delay_us(2);

//由于是同步事件,这个时候,从机通过MISO引脚已经输出数据给主机,主机可以读取MISO引脚电平值

if(W25QXX_MISO)

d|=1<<(7-i);

//设置SCLK引脚为高电平

W25QXX_SCLK=1;

delay_us(2);

}

return d;

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值