SPI全双工通信使用起来相当方便,最常见的是W25Q16存储颗粒的使用了,当重新上电时,存储再W25Q16中的数据不会丢失,仍然可以读取出来,下面就简单讲一下如何使用W25Q16存储芯片。
本篇讲的是使用硬件SPI让单片机和W25Q16进行通信,模拟SPI通信将会在下一篇讲。使用W25Q16的步骤如下:
1.配置与SPI有关的寄存器
SPI的数据寄存器配置起来很简单,清零即可。
SPI的状态寄存器,SPI的中断标志位SPIF和写冲突标志位WCOL都需要写1清0,即将SPIF,WCOL位都置1即可。
SPI的控制寄存器,设置主机模式时,将SSIG和MSTR位都置1即可,使能SPI将SPEN位置1即可,相位和极性的配置在这里默认就是正确的,因此不用再去配置了。
2.寄存器配置成功后,就可以开始写驱动了,最主要的就是这两个了,最后会上传所有代码,在这里就不多贴了。
//发送一个字节
void spi_sendbyte(unsigned char dat)
{
SPDAT = dat;
while(!(SPSTAT & 0X80)); //等待数据发送完成
SPSTAT = 0XC0; //写1清零
}
//接收一个字节
unsigned char spi_readbyte()
{
spi_sendbyte(DUMMY);
return SPDAT;
}
3.驱动有了,就可以先测试一下写的程序是否正确,在W25Q16的手册中有一个读取ID号的指令(0X9F),如何读取成功,W25Q16会返回给你3个字节,分别是 EF 40 15(注意都是十六进制),如何能够成功读取到ID号的话,说明你的程序是正确的,就可以进行其他读写操作了。需要注意的是,不同型号的W25X系列芯片的ID号是不同的,需要查他们的芯片手册才可以知道,比如
型号 序列号
W25X16 3015
W25X32 3016
W25X64 3017
W25Q80 4014
W25Q16 4015
W25Q32 4016
上一篇:【STC15库函数上手笔记】1、建立工程
下一篇:STC8单片机IO口简单模拟串行通信
推荐阅读最新更新时间:2024-11-17 18:00
设计资源 培训 开发板 精华推荐
- LT1074CT7 负升压转换器的典型应用
- 采用 SO-8 封装的 LT1676、60V、高效率降压型开关稳压器
- LT3498 LED 驱动器、20mA 六路白光 LED 驱动器和具有集成肖特基的 OLED 驱动器
- ServoDrive-GD32
- LT3088IM 基准缓冲器的典型应用
- EVAL-AD5447EBZ,用于 AD5428、12 位并行输入、双通道、电流输出 DAC 的评估板
- #第七届立创电赛#基于N32G430C8L7单片机的姿态显示
- RD-421,使用 FAN7527B 功率因数校正辅助电源应用的参考设计
- DER-108 - 7.2W 双输出电源
- LT6658AIMSE-2.5 精密双路输出 2.5V 基准和电源的典型应用电路
- 是德科技有奖直播:元宇宙测试系列研讨会之VR/AR 数字接口测试的挑战
- TI直播:精讲“双向CLLLC谐振、双有源电桥(DAB)参考设计”
- 借助 Microchip 生态系统中的 PIC® 和 AVR® 单片机开启嵌入式到云端之旅 系列在线研讨会
- 免费测评|ESP32-S2-Kaluga-1新型多媒体开发板,灵活拆装,满足多种需求
- 下载《TI MCU与无线连接技术研讨会讲座实录》更多惊喜等着你!
- 有奖下载Intel 最新白皮书《软件定义的联网和电信云端》
- 【EE团】不到1折的零头价格坐享价值750元芯片!
- 英飞凌考考你关于AI芯片的冷知识
- 有奖技术直播:Keysight量子计算测量方案线上研讨会
- 有奖评测:100套东芝最小光继电器TLP3547的评估板免费申请中!
- 一上电就烧TD7590S,靠近1脚的地方,也就是输入脚,不知道什么原因
- 【迪文串口屏】核酸采样登记系统之二:准备背景图片
- 求用最小系板和DS18B20来测量温度并在12864液晶上显示
- VIAVI最新报告显示:5G服务现已覆盖全球1,662座城市,你感受到了吗???
- 开关电源兴趣小组 第11次任务
- 处理一批2.4寸TFT屏,每人限购10PCS,有美女,有送!
- DSP5509A音频通道求助
- Proteus 如何利用matlab 2013A CCS5.2 实现仿真调试
- DIY-STM32F103ZET6核心板 + 4.3寸液晶驱动板
- 为什么用vs2005还是EVC4SP4编译刚建好的例子时总提示要连接ActiveSync呢?