SPI个人学习记录


前言

主要进行个人学习的记录


一、基础理论

不做赘述
注意SPI规定了主机与从机,片选信号低电平有效。

二、通讯模式

1.介绍

四种工作模式: CPOL->0:SCLK空闲时低电平,1:SCLK空闲为高电平 CPHA->0:奇数边沿进行数据采集,1:偶数边沿进行数据采集 如下图具有四种模式的组合,具体分析不做赘述,图中画的很清楚。主机和从机之前的模式需要相互保持一致

时序图

2.示例

以W25Q为例子
阅读状态寄存器
观察上图,模式零的情况下,根据上一个图已知模式零的情况下时钟默认低电平,上升沿采集数据,下降沿发送数据。继续往后看,数据的采集都在数据块的中间刚好进行数据采集,发送都在数据块之间。
上图说明了W25Q支持的SPI读取的模式,之后的编程驱动就是根据这个来写的。

三.芯片编程注意事项

注意芯片页的大小,超过一页大小的数据写入,需要把数据分开。读数据和大小无关
最好不要使用硬件的SPI的CS引脚,可以使用一个GPIO口进行CS管脚的控制。
和大部分操作相同,先检查芯片是否处于空闲状态,然后在进行读写。
注意数据读取时,要注意数据的高低位的传输以及传输数据的bits位,这些都是由Flash芯片决定的,去手册中读取。
如果为擦除扇区则擦除必须是4k的倍数。
关键点:芯片操作指令
页面操作程序

四.数据写入注意事项

写入的数据有四种情况

  1. 写入数据大于一页
  2. 写入数据小于一页
  3. 写入地址有对齐
  4. 写入地址没有对齐
    编程思想如下:先判断地址是否对齐,如果已经对齐则进行判断:写入数据小于一页则直接写入;超过一页则先进行整页写入然后在写剩余的。如果没有进行地址对齐则进行判断:待写入数据不足一页的类似上面的判断这里不做赘述。

总结

学会Flash后可以进行一些重要数据的存储或者图片的存储,加油吧嘻嘻

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值