当前文档版本为 v0.3.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

spi_master例程

1 功能概述

本代码示例主要演示spi外设的主机双向通信功能,以写入和读取W25Q32为实例,并将操作过程通过串口打印出来。

2 环境要求

  • Board: PAN2628b1_evb

  • 将 J14(P3_5)开关拔至MOSI侧,将P3_5与W25Q32芯片MOSI相连

  • 将 J15(P3_3)开关拔至MISO侧,将P3_3与W25Q32芯片MISO相连

  • 将 J16(P3_7)开关拔至CS 侧,将P1_1与W25Q32芯片CS 相连

  • 将 J17(P1_2)开关拔至SCK 侧,将P1_2与W25Q32芯片SCK 相连

  • 将 J19(P3_1) 开关拔至TX侧, 将P3_1与uart的TX引脚相连

  • 将USB线分别连接至电脑与evb板的UART MicroUSB接口

3 编译和烧录

例程位置:pan2628_dk\01_SDK\example_basic\spi\spi_master

打开目录下keil下的spi_master.uvprojx工程,编译整个代码工程。

4 演示说明

根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译、下载:

  1. 在电脑上打开串口调试工具,串口参数:115200/8bit/1stop/无校验

  2. 按下复位键,观察串口打印的内容,看看是否有spi master mode test.信息输出

  3. 观察读取的ID是否为0xEF15

  4. 观察写入和读取的字符是否相同

串口输出信息如下:

spi master mode test.
W25QXX_TYPE:0xEF15
Erase w25q32 sector0/1 success.
Write string: hello pan028!
Read  string: hello pan028!

5 开发说明

通过调用 spi.c 的SPI_Init()函数接口来完成spi master初始化。

/** master mode, low polary, first edge sample */
SPI_Init(MSB, SPI_DIV_8, MASTER, CPOL_L, CPHA_L); 

6 RAM/Flash资源使用情况

Program Size: data=15.1 xdata=74 const=125 code=3551