STMCU小助手
发布时间:2021-11-26 18:00
6 o$ E( b: _, N5 p- x8 a0 Z6 a
STM32F103ZET6(144脚芯片) - `$ N6 Z" f" }7 w: N. g9 D' c 7组IO,每组16个,一共112个IO口。 7 x8 _: d5 i- S0 O$ |# } GPIOA,GPIOB…GPIOG GPIOA A0~PA15(A,B,C,D,E,F,G均是16个IO口)& t v! C1 J p: S" K+ y FT表示可以容忍5V 8 t" B- }9 H: @6 U+ m 一、4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入6 U7 {$ O: g; B4 W& q 7 j$ p4 Z% Y& J% a& u9 F 1.GPIO的输入工作模式1—输入浮空模式
& q$ J+ e8 ?. y# X. w 2.GPIO的输入工作模式2—输入上拉模式
3.GPIO的输入工作模式3—输入下拉模式 - K# M% u. B3 V c" V
2 j/ u8 e/ n+ Q, }" r 4.GPIO的输入工作模式4—模拟模式 . N* d" U+ ~4 G w
二、4种输出模式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能: T: s2 Z2 M7 G( p% I# {' r 4 j$ `9 U% N$ C/ `# F: e 1.GPIO的输出工作模式1—开漏输出模式 2.GPIO的输出工作模式2—开漏复用输出模式' r' W4 i( _2 s: ^ 4 I" E- u+ v. d' ]$ A" t! E o
3.GPIO的输出工作模式3—推挽输出模式" J( ]2 y: _' w2 V4 I4 A" {
- D# k# I ^1 p/ g! F, B 4.GPIO的输出工作模式4—推挽复用输出模式/ L) Q% `3 m/ q9 K8 r _ 1 x/ X6 O7 t/ q & k5 R" ^; F+ w1 S, B" H 三、3种最大翻转速度:2MHZ,10MHZ,50MHZ4 R. U+ O5 i( o8 i ( J$ n5 v; y! o& H9 ^% g 四、GPIO工作方式# @7 E( r. C& X; O& O/ f2 j * D1 T# L/ Y6 Y+ P6 U* C 推挽输出:可以输出强高低电平,连接数字器件 。 G s1 J7 L0 l$ ^8 s+ ~4 Z' W ' ~" p, S. J) G 开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。 . _8 S6 J8 @2 f5 @% z1 I 每组GPIO端口的寄存器包括: 两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH)6 V h/ }* }6 R/ E9 H) ` ) H9 P' i: a/ s( `: K, P) ^; N8 @2 P 两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) \7 `+ z1 P" c8 f1 x8 ~, G1 g 一个32位置位/ 复位寄存器(GPIOx_BSRR) ^4 \) ?: a" I6 C/ j. A ! g6 B$ Q" @/ e% g; N 一个16位复位寄存器(GPIOx_BRR) k( R: a# f$ i3 X; w 一个32位锁定寄存器(GPIOx_LCKR)* i7 N: J; g' X7 \( c' o 9 C! Z3 t" \7 X" o5 e! C 每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。6 ?) z v) w. h 每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。6 r* U! g, a( n4 X5 O/ Y6 `& d- w 9 n, P$ l' r& ~0 D5 q GPIOx_CRL :端口配置低寄存器: a) G3 d3 D4 M' Z+ T' C5 a9 u' u 4 `: _8 M8 d/ l' t GPIOx_CRH:端口配置高寄存器0 ?1 q* m, {1 P- W$ a6 G+ d" L6 O6 f GPIOx_IDR:端口输入寄存器 6 G! C0 Q% J$ _: J GPIOx_ODR:端口输出寄存器 1 R( T9 I: i3 |. d# N; G+ ] GPIOx_BSRR:端口位设置/清除寄存器" C' W7 V& e, a+ A7 \) g ) f% a% P" g$ V) s GPIOx_BRR :端口位清除寄存器% H$ L" }; p0 k, p# V GPIOx_LCKR:端口配置锁存寄存器+ ]( x" D. V* f. X% y 1.端口配置低寄存器(GPIOx_CRL)和端口配置高寄存器(GPIOx_CRH). e8 r! R6 s1 G 6 U' i) p1 w9 }8 {
2.端口输入数据寄存器(GPIOx_IDR) , }) e# u9 E& w9 m
6 K/ { z2 z& X' j2 X! y/ s 端口输出数据寄存器(GPIOx_ODR)- F+ `: T& v4 H 7 g8 T6 Q6 u! ]+ B% `5 w 3.通过设置ODR控制端口位为上拉还是下拉输出模式 0 e) I5 Q$ n! x
4 s* B/ k8 X) p- ~- [6 K ODRx设置为0就是下列输入,ODRx设置为1就是上拉输入。* X; U1 m( A( O( k. Z4 U" _& h ?4 ^ 7 S; u8 l8 j7 B& f2 b 4.端口位设置/清除寄存器(GPIOx_BSRR) + q" Z" K' F& ^$ S1 I
端口位清除寄存器(GPIOx_BRR)1 D0 w D- T! H/ C9 i 通常就采用BSRR的低16位和BRR的低16位,因为BRR的低16位与BSRR的高16位作用类似。1 L# h7 d# \# D- C! K( J 7 Q: h* k) y9 V$ ?$ { 5.端口复用功能: STM32的大部分端口都具有复用功能。 所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚。 ) f2 j- j$ C4 B 6.端口重映射功能:就是可以把某些功能引脚映射到其他引脚。比如串口1默认引脚是PA9,PA10可以通过配置重映射映射到PB6,PB7。 和51单片机相比,32所有的IO口都可以作为中断输入。 " Q, }7 Q& q( @. E- N* g% H) { |
【评分有奖】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 区别
微信公众号
手机版
非常清楚 感谢。