学习目标:
软件spi读写外设
硬件spi读写外设
学习内容:
1.SPI(Serial Peripheral Interface)
2.是由Motorola公司开发的一种通用数据总线 四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slave Output)、SS(Slave Select)
3.同步,全双工
4.支持总线挂载多设备(一主多从)
硬件电路
所有SPI设备的SCK、MOSI、MISO分别连在一起
主机另外引出多条SS控制线,分别接到各从机的SS引脚
输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入
移位示意图
向左移位:本质是交换字节
spi的基本时序
数据移出提前半个时机;
模式1
发送指令
向SS指定的设备,发送指令(0x06)
flas操作注意事项
1.写入操作时: 写入操作前,必须先进行写使能
2.每个数据位只能由1改写为0,不能由0改写为1
3.写入数据前必须先擦除,擦除后,所有数据位变为1
4.擦除必须按最小擦除单元进行
5。
连续写入多字节时,最多写入一页的数据(256个字节),超过页尾位置的数据,会回到页首覆盖写入
6.写入操作结束后,芯片进入忙状态,不响应新的读写操作
7.读取操作时: 直接调用读取时序,无需使能,无需额外操作,没有页的限制,读取操作结束后不会进入忙状态,但不能在忙状态时读取
软件spi:
1.交换数据
2.初始化
3.其他
对于W25q64的操作
写使能
等待函数
页编程函数
扇区擦除函数
读函数