你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103RCT6的GPIO

[复制链接]
STMCU小助手 发布时间:2022-12-27 18:00
概述* w( k# y& X3 J8 G
STM32F103RCT69 l% Q- P4 X4 S/ |
共4组IO口9 b. D, y  u2 E& T4 N% e
16*3+3 = 51个IO口+ ?! H% J3 x; X  J) U1 _
GPIOA0 ~ A15
, k; r' K) T- |! R9 V9 Y! W' S- s( wGPIOB0 ~ B15! M# r. g/ S$ B
GPIOC0 ~ C15; J3 R  h" T, e4 g0 n
GPIOD0 ~ D2
3 p3 O' Z- \+ M

  O# N9 j! E; [: @" K9 o* V! O& N; ~+ KIO口的基本结构
8 K  k9 x# V( m) z  z
; j) P4 V4 j' Z! d8 ^/ F
810b7f2981034ef6ac2416f323d6577f.png : X+ k$ [: C( s, }7 e: `

$ S# P$ k9 S8 F4种输入模式
! Q. ~/ _! F: w" C+ r% _: ~# b输入浮空+ ]1 f4 }3 [# V! i

7 _  Z+ r+ H" C& Y* N' y 0b0977b0d75f42519c682f38b0c7f6b4.png 4 R' X& D1 \/ g4 u- y6 g" j& t

( f8 [3 \( |2 t0 }" R4 E
输入上拉- k" Y& ~4 K% `- x6 `1 a
上图中上面打叉的部分开关闭合,上拉电阻约为30至50k
& b7 P& _* d# G# f* |
! @7 Y/ V# n- |6 Z  Z0 z
/ E$ t5 A; t0 ~6 `
输入下拉6 `  B! c0 H1 f! K6 L! ~
与上类似6 I5 I2 m3 `3 J! R8 |% M# K$ g

7 o0 a2 l6 ~# `) u/ R( h

; ^/ n" `  A; L. T! ^模拟输入
+ C2 |8 P% W" ~9 `/ Y" s! t) ~* {3 D6 W( }3 v+ O

; ~3 ^% d$ s$ e7 @$ S: Y 26535fc9e2814437900b8bd86179fbb8.png 0 \( c% _' J3 b8 o
9 q; \" h. r2 q$ Y) H0 ?$ q
4种输出模式  q7 G6 E% S* Z% h. [. `% L
开漏输出
  T( n2 ~% K$ J8 r4 ]$ C/ L2 `& T% V5 b0 N" _5 w) g2 W
7a2742323b2a41f498688fb06f4bca64.png 4 V4 M- J( H" m) M

( L. y" j' Y( c% t) p  `) N开漏复用功能4 I0 ~! O9 N8 o8 r3 f
& c* m4 [% w, x' [+ d" a3 Y* x
9259486e967d4ec4a1322b93e0b352f2.png 0 V" `, }0 H1 I, m

9 n7 a! u9 n, x) f9 \/ P' D推挽式输出
. d0 n* l+ ?/ q+ ]; ^推挽式复用功能$ h) c, e" M' [9 P" N0 a
: f+ h$ s) Y, K9 D: \0 X0 f
3种最大翻转速度7 y$ l' i& O8 V  G% ~6 w
2MHz
, ]8 `/ B" G& D2 Z+ }2 g: L10MHz; @- [1 P) M+ V5 r1 J
50MHz2 q& L: ]0 U' s9 b4 h6 F
1 h1 k6 `9 G* l+ K4 D% q
每组IO口包括的寄存器+ E( C( c6 c- S0 m& @
两个32位配置寄存器,GPIOx_CRL  GPIOx_CRH. |: t+ x" A8 @
两个32位数据寄存器,GPIOx_IDR   GPIOx_ODR
/ R4 E$ e8 ?# R# `" Z! Y2 K. l( i一个32位置位/复位寄存器,GPIOx_BSRR  d  N* g+ S1 H( ~* z4 Y% r9 X
一个16位复位寄存器,GPIOx_BRR
/ B4 L3 i, M. }一个32位锁存寄存器,GPIOx_LCKR
( U) `" v2 d% Z每个IO端口位允许自由编程,然后IO端口寄存器必须按32位字进行访问,不允许字节访问
( z) F* o* {4 |0 j: J: c( b. r- j2 E5 Q2 e9 |& d& ^/ \
对于一组IO口,每个IO口的配置需要寄存器的4位,每组一共16个IO口,因此需要寄存器的64位,由于STM32是32位的,所以分成了2个寄存器去配置
, G& l/ o- k# @) h+ b+ r- R5 a* U/ v. N# V
GPIOx_CRLA0~PA7
2 K% y" B, U) `2 ~6 g: e1 Z) h! q8 Q
GPIOx_CRHA8~PA15+ x  S: G9 p( ?# M& ~; {
' V: F/ m& B3 r
每个IO口的配置需要寄存器的4位,其中2位是模式位MODE,2位是配置位CNF
8 T' b+ q: n8 d6 l$ U% h' v# w# l  y; O  t: J7 g
6 {* P2 i% I! b5 }
输入数据寄存器5 K* b, E1 W# l# E/ _
- }$ N4 R7 U0 x0 [
GPIOA_IDR分别对应每一位,即GPIOx_IDR0对应PA0- r- d5 g3 l0 I9 n
: F7 w7 {2 o9 L6 t3 F8 x  e4 Q

6 s8 h% C5 `9 \* U输出数据寄存器
& ]2 ?# c- ?( [8 v: O7 t
4 C0 k* C* s9 F; T$ L0 NGPIOA_ODR与上类似$ o% B# ]2 N" t" c
" t7 s( v8 T. h1 U
* w* y& X: B% r! d  j0 p0 I
GPIOx_BSRR置位寄存器, m. I: _6 H% d  f  ~0 c9 v

5 G; v& b9 t( n0 v& \6 F1 A+ V! N其实就是控制下图红框中的部分; l4 m# H% j0 B- k0 n! G. o
, q( T! X: y" y) R) ^" j
13d9956e72ac4a69afe58b9ae94fdd13.png
# v( ^7 U! L/ \+ N9 R) [% m# |4 ?' h& b
例如,我要操作某一位,使其置1,则只需要将这一位置1,其他位置0即可,与ODR寄存器不同的是,ODR寄存器给1就是1,给0就是0,BSRR给1就是1,给0不修改
3 g+ J! r9 I4 t, l/ ~3 g1 ~. d0 B
8 h: H$ p4 I* f4 r8 i通常只使用BSRR的低16位  i1 N6 Y, @6 {7 x) A
6 E6 h+ `+ u! y+ y- h
# w2 h7 ^3 ]2 _4 Q; V7 S2 P- N
GPIOx_BRR置位寄存器. w) Z3 h* k6 P+ z* c' O- s

4 e8 B5 J2 n+ l. j7 n! s类似
3 {# p9 H; F  D( {: l$ X6 s" @

9 z5 R5 d) k& O4 x" E, n( Q9 f通常只使用BRR的低16位
# y3 l% P. a8 v2 |2 a3 V5 Y. x+ G9 n8 [* n3 v. J. z2 P8 G
端口复用) P8 [) a- V' |, }/ F  \0 w
相当于是一个开关
, ~  u. N1 d0 _4 l, i! d" L2 @8 `' Y# K" A+ N/ u$ _+ U
端口重映射/ C( D- B# \9 \# O0 h) r
方便布线,参考Datasheet里的Remap
& ^- Z7 T9 e0 i8 x/ s
6 g! o1 C, u) K. `' `. V5 LSTM32的所有IO口都可以作为中断输入
6 [+ e$ I( o* ^. m+ j, h: N
) y! w! Q/ T4 U: X6 g( J
: K1 Z0 C2 G! c/ ~* y) q3 p
GPIO查看MODE、PIN、SPEED的可选项
: L" m1 p; p+ n' u) G  i! _1 t+ s4 c
41452408137c4ae8b49db5fce8919071.png
$ Q+ `9 C! E0 t! U( X1 z' ^% ?3 R' z6 b4 h2 k/ V3 a+ k
5a3a76518bb14b509b0ce119a2a434c2.png ! c; \; D: L) ~
* A8 U$ n* p; H5 a7 D
类似地,查看PIN
, z  s! m0 |1 R/ n+ ?8 ?2 m8 @8 c  F& I3 Q+ B9 g
d1cf61528ef44bc9b8ccfadc770f029d.png
* y. x! ?6 ~- t$ A# f" ]( T3 W7 w! W: v5 @; P: ?, E
查看SPEED  A. @2 k& l4 C* O& q# a
. j. r8 K3 O" ~. I% j+ V
22f9479663594e7dbde57289e3f1c044.png * e' Z. X( \" m6 v) E$ M
4 I3 A+ y9 V6 P5 |8 g. M
————————————————9 |% T5 v. u) e8 y0 D
版权声明:CodeForCoffee
! s) ]8 R3 o# F# k6 W! O5 Y# M9 @: P  l' C6 a

' ]9 k- H& H" f% ~9 \. C: t8 X
收藏 评论0 发布时间:2022-12-27 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版