SPI编程时,时钟相位(CPHA)和时钟极性(CPOL)怎么理解?


CPOL   脉冲传输前和完成后保持的状态  0:低电平 1:高电平
CPHA   0:第一边沿采样数据,第二边沿输出数据
             1:第一边沿输出数据,第二边沿采样数据

//SPI模拟读写   
//CPOL : 0  
//CPHA : 0
u8 SPI_ReadWrite(u8 Wdat)
{
  u8 i=0;
  u8 dat = 0;
  for(i=0;i<8;i++)
  {
    if(Wdat&0x80){SIO = 1;}else{SIO = 0;}
	SCK = 1;         //第一边沿(采样数据)
    Wdat<<= 1;
    dat <<= 1;
	if(SIO == 1){
		dat++;
	}
	SCK = 0;         //第二边沿(输出数据)   
  }
  return dat;
}

SPI是单片机外设电路中常用的一种通讯方式,适用于近距离通信,通常用于芯片间的通讯,有四根线。在SPI通讯中总线时钟和总线相位也两个比较重要的概念,一般在使用SPI通信时都使用默认设置,所以容易把这两个参数忽略。和大家分享一下SPI通讯、时钟极性以及时钟相位的基础知识。

什么是SPI通讯总线

SPI总线的英文全称为S“Serial Periphral Interface”,意思是串行外设接口,由于通讯距离比较短,适用于芯片级别的短距离通讯。SPI的通讯分为主机和从机,属于高速全双工的总线通讯方式,SPI有四根线,分别为:

  • MISO:主设备输入与从设备输出线;

  • MOSI:主设备输出与从设备

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值