概述
4 o) i' p9 s8 j& A) F) s5 KSPI有四种工作模式:在开发板中w25q16芯片中使用的是mode0。
, d2 u& @7 z. i+ m+ ?' V" A$ K! C4 q$ _2 M% [* i' ^. e
" q% }& s# t4 s7 B: ~1 R( K% c* [
& t# ~- M' ?. Y. O5 Q6 T1 n
# a, I1 `; K$ J$ Q+ @
; U8 T; C3 j. \* Q3 m" s8 E. E; v$ M W
- H1 j# r1 p* Y4 {9 y& c7 v7 s0 u代码实验
' B- P$ { y v- S% ^% |( T" v: g8 C, _1 IGitHub项目地址:W25Q16-SPI-Demo$ v+ p; T, Z3 _9 t6 ~; r: b& c
* Z2 d4 @5 C& {/ Z- r0 w1、CubeMx中芯片选择STM32G071RBTx,新建工程, W; s) _ D# V& W5 i
5 b+ ]5 ?8 `5 X: L* C
2、开启SWD调试、HSE$ \1 M0 h6 A# @
; T8 B5 j, n! H- ^/ f
9 o$ K o* `9 Y& h0 W
9 W2 o" W+ X% M9 G( E0 G+ E+ i% O) X# W
3、开启USART1 ,设置波特率115200、8bit、None(无奇偶检验)、停止位1
* B+ c3 B3 u# _ L' H9 o
/ ~* f" h9 r( ]6 y/ M- T& j% w% C, A3 O" m. z3 ^7 Y
9 F$ V r! L; z+ B# D4、 设置PB11为SPI2_MOSI,PB13为SPI2_SCK,PB14为SPI2_MISO,PB12为GPIO_Output,PB12设置为推挽,默认上拉模式。) E' Z% a- O/ M
* x8 v5 S; g# t" x4 W" ]# ?& e* B/ }
) y2 Y- h" r/ U! v4 i4 n% t
7 h8 ?, W" ^2 C& J1 d& I
5、使能SPI2,选Full-Duplex Master模式,Hardware NSS Signal为Disable,预分频系数为16,SPI的速率就为4MBits( {7 ~2 g- X8 b
) }8 j* p% O- a# W" P8 Q& Q$ }# b0 [2 x& b' r% |4 Q! C
( j) Y; W, i5 _* Q2 P' W6 `6、 设置时钟树
# g0 S% a) i0 V8 |& x) Q8 A. B
) ~; a( J" S6 P: x3 P* h+ }0 Z8 a. x. d1 P5 B
+ d. f. j2 Z. g" w* `% p* u8 G B
7、 设置工程属性
% u7 Q% d3 P" W$ M: I( J9 a, `$ _7 ~: ~8 p0 |
6 T0 r: R0 S' @/ M# M
+ q B' D$ L, S7 H6 b9 h7 c: e' t& I/ G* e
/ V4 [) p# E# ^9 R" C
3 ?1 _4 H- X/ J8 A; CW25Q16芯片命令表:9 V/ q8 E' x- D/ Z7 L
4 W6 u/ u0 k' H6 y+ o' b
$ D1 c& E! A; w
3 ?, j) B2 }; `2 l' U$ n4 P
% t, _+ G2 I' S- g; S9 `7 z: z |