概述7 R! l8 i. u: {0 \. b; i
SPI有四种工作模式:在开发板中w25q16芯片中使用的是mode0。
- ?2 H0 D4 ~/ `6 A/ _( G4 n% O9 u9 {$ {& }2 d( x7 ~( p
% l6 ^4 r3 j! D3 c' k% D2 ?1 Q
3 l6 T+ Z8 D7 T: g+ d! t M e
2 \! J1 V4 d4 b7 M
/ D% h. j! o. ?/ W) q+ I% q5 P& [9 j, i7 ] \4 I7 |
# R) @" K5 [( d/ C% l代码实验- A2 T, Y4 L; U# k% A) R
GitHub项目地址:W25Q16-SPI-Demo
! a j& z' `0 o D, o% |5 ]1 Q5 `4 ?5 X$ M+ i
1、CubeMx中芯片选择STM32G071RBTx,新建工程* P+ s" T n% _% _' m2 `
2 I8 E; ]! c' x6 Z! U
2、开启SWD调试、HSE
: A, V) j5 G! j! j* o6 e7 ]. S
2 l6 U) u7 Q1 a, N/ n; E k& i0 Z) \
, N6 O+ a) {* U ]$ ? U& F
5 E( g' E, X$ N
' C# c* W& t8 m& H3、开启USART1 ,设置波特率115200、8bit、None(无奇偶检验)、停止位1
) \" Q7 N7 V# h% m7 ~9 ^4 O) N$ Y; D6 n; ?( D6 A. {4 R o$ G
1 J$ W0 T0 J1 Y8 Z% ~! `& l
, c" D% l4 E- ]) u4、 设置PB11为SPI2_MOSI,PB13为SPI2_SCK,PB14为SPI2_MISO,PB12为GPIO_Output,PB12设置为推挽,默认上拉模式。0 C* d$ H7 N7 u" I, r# I D* z
" Y- y6 g8 c# Y! c' z$ @/ U c# ]
" Z1 Y# a6 F2 K5、使能SPI2,选Full-Duplex Master模式,Hardware NSS Signal为Disable,预分频系数为16,SPI的速率就为4MBits" C2 h3 g1 s7 e% j
! x! `; G/ T9 {3 w5 D6 o
' v' P& i1 V+ B3 \- ?3 k9 z8 o: e3 M+ l# Z8 h" g6 v
6、 设置时钟树) d0 P; z: Y; E( x. r: b
7 E/ N* f- g9 X/ ?6 r2 j% A
! E( r3 m- F4 ~5 u5 N- h) Y. P- [% s5 O; T/ {: y' s/ p/ B
7、 设置工程属性8 k* `9 P+ R7 U9 o% O
2 V" c+ H" h/ {! a) A" [$ M2 {' H4 I/ A4 R, F {
, `' W) a1 _0 E: R V" \1 K
: S4 a, t. f, \8 @9 h1 j% A
: H2 W: ]- a. i
0 R( A" v: ]3 f7 ]W25Q16芯片命令表:
5 O/ K2 v/ h Y2 Y0 o3 }
$ F' }; s5 y* d% ^
1 Q. ~+ {- M2 R% e+ T H
' b* b6 O- s* k L g7 [- E, I" c/ F* ^, V1 d8 I; I: Y& ?) U1 h: S) k
|