接口协议学习(一):SPI

SPI

SPI(Serial Peripheral Interface,外围串行接口),是一种全双工三线同步串行外围接口,采用主从模式(Master—Slave)架构,支持一个或多个Slave设备。

SPI协议比较简单,没有地址选择,没有响应,只是按照时序往从机写或者读出数据,不知道数据是否写入或者读出,在低干扰或者对数据的准确度要求不是特别高的场合可以使用。如果有响应的话,可以知道数据是否写入,数据是否读出。

单工:仅支持数据往一个方向传输(主机到从机或者从机到主机)
半双工:支持数据双向传输,但同一时刻只能主机到从机或者从机到主机
全双工:支持同时数据双向传输,可以在同一时刻主机到从机、从机到主机传输。在该方式下,主机和从机都有发送端和接收端。

在这里插入图片描述
SPI接口有CLK线、数据输入输出线以及片选线,SPI不像IIC有寻址机制,SPI通过片选来选择从机设备。

SPI工作模式

SPI有四种工作模式,由控制寄存器中SPICR1中的CPOL和CPHA控制

CPOL:控制时钟极性,0—时钟高电平有效,空闲时为低;1—时钟低电平有效,空闲时为高
CPHA:控制时钟相位,0—数据采样发生在时钟第一个边沿(奇数边沿);1—数据采样发生在时钟第二个边沿(偶数边沿)

在这里插入图片描述
箭头表示在该种变化沿,接收方捕捉信号,而在之前的和之后的相邻边沿发送方变化数据。

下面以MODE0为例:
在这里插入图片描述

SPI时序

选择设备:通过将从设备的CS拉低(CS低电平有效),开始将脉冲发送到从机的时钟线上
起始信号:CS下降沿
结束信号:CS上升沿

下面以标准读写为例(具体采用SPI协议的芯片的时序可能不同):
在这里插入图片描述

### 将本地新建项目上传到 Gitee 的步骤 #### 初始化本地 Git 仓库 为了使本地项目能够被版本控制工具 Git 管理,需先在项目的根目录下运行 `git init` 命令。这步会创建个新的 `.git` 文件夹用于存储有关该项目的历史记录和其他元数据[^1]。 ```bash $ cd /path/to/your/project $ git init ``` #### 添加文件到暂存区 通过执行 `git add .` 可以将当前工作目录下的所有更改标记为准备提交的状态。此操作会把新添加或已修改的文件加入到即将提交的内容列表中[^4]。 ```bash $ git add . ``` #### 提交变更至本地库 利用 `git commit -m "描述信息"` 来保存这些改动并附带条简短的消息解释所做的更新。这是确保每次重要的变化都被记录下来的重要环节。 ```bash $ git commit -m "Initial commit" ``` #### 关联远程仓库地址 接下来要做的就是告诉本地 Git 应该向哪个位置发送数据。这里假设已经在 Gitee 上建立好了目标仓库,则可通过如下指令设置远端连接: ```bash $ git remote add origin git@gitee.com:username/repository-name.git ``` 注意替换上述 URL 中的 username 和 repository-name 部分为实际值。 #### 推送代码至上游分支 最后步便是真正意义上地传输资料了。对于初次推送来说,建议采用 `-u` 参数指定默认跟踪分支以便日后简化流程;而对于 master 或 main 这样的主干分支而言,默认情况下可以直接这样写: ```bash $ git push -u origin master ``` 如果遇到权限验证问题,请按照屏幕上的指示完成 SSH 密钥配对或是 HTTPS 方式的用户名密码认证过程[^2]。 旦顺利完成以上各阶段的操作,在浏览器里访问对应的 Gitee 页面就能看到刚刚上传上去的新建工程啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值