STMCU小助手
发布时间:2021-11-26 18:00
/ r! R) w4 ]. `& ^' p! D
7 \8 V, ?- J' S STM32F103ZET6(144脚芯片) 6 Z3 I( t0 I! p& Q" I" ~ 7组IO,每组16个,一共112个IO口。0 I/ [1 P0 T0 H7 Z% ^/ i/ |6 P / {* V7 b, t: K5 B3 p, L" f GPIOA,GPIOB…GPIOG E' O6 n" B* O. @+ L GPIOA A0~PA15(A,B,C,D,E,F,G均是16个IO口)% y M( f" _7 X/ U FT表示可以容忍5V % d+ p' A( l `9 h 一、4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入 $ H4 e, Q1 d" |' T% D- J4 N/ F/ s 1.GPIO的输入工作模式1—输入浮空模式% X8 L2 }1 l( B& M1 F! U + p& A- d! B* B4 }) Z ~
2.GPIO的输入工作模式2—输入上拉模式
7 |* m$ b5 w# q. N% L" \( \ 3.GPIO的输入工作模式3—输入下拉模式6 h% A) d l1 h0 y Q! L- ?
4.GPIO的输入工作模式4—模拟模式 8 |( X) A8 K H- U
d1 o! U7 C6 H9 y# }$ g; G 二、4种输出模式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能 1.GPIO的输出工作模式1—开漏输出模式 t- h( b( @: x6 [ 2.GPIO的输出工作模式2—开漏复用输出模式
. [: P5 t+ Q( A- y 3.GPIO的输出工作模式3—推挽输出模式 * x# Q _( x! r, n0 o
& f- O6 y5 e& q2 \ 4.GPIO的输出工作模式4—推挽复用输出模式 & X- e D' |! K" L 三、3种最大翻转速度:2MHZ,10MHZ,50MHZ 四、GPIO工作方式0 G' B9 K- H% g3 h 推挽输出:可以输出强高低电平,连接数字器件 。+ G( H8 X2 L% ~& X' A7 w 开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。 d! W) h: C6 P& O' b 7 g4 @$ |# |, I: B 每组GPIO端口的寄存器包括: 两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) * R/ j$ m+ Z I) K/ e7 O9 P 两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) ) j. Q( p& L5 ^# \ 一个32位置位/ 复位寄存器(GPIOx_BSRR)9 ?/ x- J$ N8 q5 O ) D1 Y. P* o$ w 一个16位复位寄存器(GPIOx_BRR)6 C4 Y( ~' N# y3 R" z , C5 J4 {4 O1 q3 E& ]. Q- O 一个32位锁定寄存器(GPIOx_LCKR), V8 o k( h6 t6 ]6 q& ?2 ` 5 `* \+ W: L ]4 C# A: @+ G+ i 每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。 每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。 3 G( A: R N4 U, |5 n GPIOx_CRL :端口配置低寄存器 GPIOx_CRH:端口配置高寄存器; @( r+ @% z( G& ] GPIOx_IDR:端口输入寄存器 GPIOx_ODR:端口输出寄存器 GPIOx_BSRR:端口位设置/清除寄存器 GPIOx_BRR :端口位清除寄存器6 _6 F2 s9 m4 q5 ^9 S) n; S8 Q GPIOx_LCKR:端口配置锁存寄存器( H: e8 G1 b5 L$ c2 k9 z3 I1 |+ T% T $ F! @5 p; R- r; n, @- U 1.端口配置低寄存器(GPIOx_CRL)和端口配置高寄存器(GPIOx_CRH) ; n4 x! _8 F% i
2.端口输入数据寄存器(GPIOx_IDR)5 ]7 X' a7 a8 A9 N: p" A
- m- [' V% y2 q( W* P 端口输出数据寄存器(GPIOx_ODR) U! Q3 V0 a: Q! O! _# W. W c0 } / d" k( P* V# _3 G. F 3.通过设置ODR控制端口位为上拉还是下拉输出模式
ODRx设置为0就是下列输入,ODRx设置为1就是上拉输入。# s. E; M" Y9 q, C" w 7 q* D) w, L# ~ 4.端口位设置/清除寄存器(GPIOx_BSRR)' W) p# y Y5 q! L2 j, } ' c/ p( j; \/ [; O% [/ f, ?. V
端口位清除寄存器(GPIOx_BRR) 5 y2 ~/ }# S) h0 S2 |3 C 通常就采用BSRR的低16位和BRR的低16位,因为BRR的低16位与BSRR的高16位作用类似。 1 l+ |+ l1 \* x 5.端口复用功能: STM32的大部分端口都具有复用功能。 所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚。& H* V2 m' L/ h! b 6.端口重映射功能:就是可以把某些功能引脚映射到其他引脚。比如串口1默认引脚是PA9,PA10可以通过配置重映射映射到PB6,PB7。 b% ~& s. }; J7 t' c1 J( a# ^* _ . G# @! n" q( P' {% Z 和51单片机相比,32所有的IO口都可以作为中断输入。& m! \4 M; r: G% j1 }. X% t * E- z2 u6 {* ^8 M$ g! _5 }5 Q |
【评分有奖】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 区别
微信公众号
手机版
非常清楚 感谢。