单片机
返回首页

STC8单片机硬件SPI通信例程W25Q16

2022-08-02 来源:csdn

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


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何构建一个触摸传感器电路

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章