STMCU小助手
发布时间:2021-11-26 18:00
$ f+ X& ~2 W- ^ B9 u" J3 ~2 u
( f6 e; E: n b7 c ? STM32F103ZET6(144脚芯片) 7组IO,每组16个,一共112个IO口。 7 V: y/ [3 Q% n GPIOA,GPIOB…GPIOG" }( @- B2 t0 q6 M6 s- M GPIOA A0~PA15(A,B,C,D,E,F,G均是16个IO口)+ t, _3 X! H. X0 _/ s- O FT表示可以容忍5V& W+ D8 L3 J; X; C4 S 一、4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入6 i2 Q0 _* b% _$ i" U 1.GPIO的输入工作模式1—输入浮空模式 ; w$ }& S! C4 f0 b, K- y
2.GPIO的输入工作模式2—输入上拉模式
8 r, p0 }# [1 R' ], h; C0 g 3.GPIO的输入工作模式3—输入下拉模式7 }5 R3 R, f4 D: E! C 3 T. V/ C* y; `7 ?# w
- z8 ` m% v( ]# b, l9 W3 K; L 4.GPIO的输入工作模式4—模拟模式
% B, ~* |/ T* i, H% ?7 B2 N 二、4种输出模式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能 1.GPIO的输出工作模式1—开漏输出模式 b9 L8 A/ P# r- B8 Y8 L 2.GPIO的输出工作模式2—开漏复用输出模式 " J9 \" |- C3 b9 S6 f0 _! ^
4 u. h" u' Q1 f& R) [8 @& n/ M 3.GPIO的输出工作模式3—推挽输出模式 * q J3 s% A6 W0 Q8 Q* ]7 z% a
4.GPIO的输出工作模式4—推挽复用输出模式; k6 H- t8 {5 j: b) ] 4 }# I+ X4 B! r9 m' f& H1 \ ( J! r* v& F$ K- g1 v( A 三、3种最大翻转速度:2MHZ,10MHZ,50MHZ5 U. }) B* y3 y1 F. m 四、GPIO工作方式# |& T" X5 d' X& F' P: w P 0 J ]9 p, ]) ?' o% @" S, e 推挽输出:可以输出强高低电平,连接数字器件 。, x5 O5 N, t& q* x. X5 D % S0 E8 G( `% g6 J9 } 开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。$ \ u* ^5 x% p5 L- K; Z 0 J& e3 h( u+ l 每组GPIO端口的寄存器包括:( T) G+ h4 M# h+ E1 ?9 A 两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH)* [9 q% Q! \* L! \$ @ ) s6 ~! }5 m! G$ H' p 两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR)* x, ~) M- }" G, f% G 4 W+ Y7 B8 c" J5 r7 |; c e. Y4 U 一个32位置位/ 复位寄存器(GPIOx_BSRR)- q0 p8 {. i/ X 一个16位复位寄存器(GPIOx_BRR)* \" `7 B) }" t- R& H% V 6 X: l x6 Z$ k! r- s 一个32位锁定寄存器(GPIOx_LCKR) . ~ o8 U" k6 e: d* Y1 h' J8 J 每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。7 {6 Y/ C( A O5 n 每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。+ O; M( F) [; a' N6 f* C GPIOx_CRL :端口配置低寄存器6 L- ], S4 y# u6 m GPIOx_CRH:端口配置高寄存器 . t# e. p: _+ i6 U& L+ s& u2 H GPIOx_IDR:端口输入寄存器7 l: n; N2 O. o# [ GPIOx_ODR:端口输出寄存器" \+ y3 }$ U' x- D1 ? GPIOx_BSRR:端口位设置/清除寄存器 GPIOx_BRR :端口位清除寄存器 # j' k7 Q$ p3 t- @ GPIOx_LCKR:端口配置锁存寄存器 # D9 d. T$ ^9 d 1.端口配置低寄存器(GPIOx_CRL)和端口配置高寄存器(GPIOx_CRH)# W3 `* l: b9 c! _* Z ' T2 c6 i4 e& m. z5 x
2.端口输入数据寄存器(GPIOx_IDR)7 y& E7 X7 {0 j) s/ M1 y
' ] z; |% X, y) {' t5 _ 端口输出数据寄存器(GPIOx_ODR) - A7 Q R- K [2 l1 E 3 c$ T! s6 ~1 Z; ]. [ : ?5 N- J' d# s. I, J( J! N 3.通过设置ODR控制端口位为上拉还是下拉输出模式 4 k3 u4 C J% n$ p
ODRx设置为0就是下列输入,ODRx设置为1就是上拉输入。 / g" Y$ e9 p0 g+ c* P 4.端口位设置/清除寄存器(GPIOx_BSRR)' O: j% O3 m* l- x+ w C
端口位清除寄存器(GPIOx_BRR) % M) W0 N# o1 l! r$ G 通常就采用BSRR的低16位和BRR的低16位,因为BRR的低16位与BSRR的高16位作用类似。 5.端口复用功能: STM32的大部分端口都具有复用功能。 所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚。- r$ o! c: V8 O) R ( w3 d/ O8 M5 F; T 6.端口重映射功能:就是可以把某些功能引脚映射到其他引脚。比如串口1默认引脚是PA9,PA10可以通过配置重映射映射到PB6,PB7。: w2 o) E/ \) C) j. V ]. I" @ 8 D" X, A" Z6 j 和51单片机相比,32所有的IO口都可以作为中断输入。2 Z, [. D0 s4 T2 } 4 R% k; @' G& z } |
【评分有奖】STM32 AI Sidekick聊天工具上线,快来体验一下吧!
ST TouchGFX 实操系列视频+如何选择正确的帧缓冲区策略
ST TouchGFX 实操系列视频++如何添加图像
ST TouchGFX 实操系列视频+如何进行屏幕转换
ST TouchGFX 实操系列视频+控件的淡入淡出
ST TouchGFX 实操系列视频+移动控件的三种方法
ST TouchGFX 实操系列视频+如何创建用户界面(UI)
ST TouchGFX 实操系列视频+如何安装TouchGFX Designer和STM32Cube软件环境
【经验分享】STM32F0xx_DMA收发USART数据配置详细过程
【经验分享】STM32F1和STM32F4 区别
微信公众号
手机版
非常清楚 感谢。