STMCU小助手
发布时间:2021-11-26 18:00
4 n3 ?- _, N! Z' m: ? X STM32F103ZET6(144脚芯片)8 \! F P# H0 _) e* C ) C5 t4 t# |+ T$ k' F" a- b 7组IO,每组16个,一共112个IO口。# c x7 \/ r( Q# \: K+ F ) R. C& |) B9 C. O! C$ G GPIOA,GPIOB…GPIOG. w& K/ l% M, P" W+ O- \* l. N GPIOA A0~PA15(A,B,C,D,E,F,G均是16个IO口)FT表示可以容忍5V 一、4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入% Q: @+ m1 @& }3 E4 K8 j % m$ P2 s# m) t 1.GPIO的输入工作模式1—输入浮空模式; v' \4 \7 O" A6 F- Q % E4 U0 c4 L% k
% H2 N' C" G# Y$ G! Y! z6 t# Z 2.GPIO的输入工作模式2—输入上拉模式
3.GPIO的输入工作模式3—输入下拉模式9 X# i1 c2 W+ U0 o" u' J / C1 e, l) T/ a# V+ y( |4 o& l3 f+ e
6 S; q9 N" l F4 {, l- L 4.GPIO的输入工作模式4—模拟模式 " C4 |( K% U7 ]4 a" y _
二、4种输出模式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能 6 k' S5 W/ g/ \; g 1.GPIO的输出工作模式1—开漏输出模式' J. T5 |4 |2 Y' ^7 F% j( z 2.GPIO的输出工作模式2—开漏复用输出模式 7 S4 O3 j3 F' F O j3 T& _+ @" l
3.GPIO的输出工作模式3—推挽输出模式
" a: m8 _ n d5 _3 s 4.GPIO的输出工作模式4—推挽复用输出模式2 s. L6 { A4 W! k+ n5 a+ d! ` ( S6 g8 X8 T& R6 |: t2 ^ 0 J& X0 H0 u% D3 ]9 P 4 T u: a8 C! g9 G0 ^ 三、3种最大翻转速度:2MHZ,10MHZ,50MHZ 四、GPIO工作方式 推挽输出:可以输出强高低电平,连接数字器件 。) y4 w/ x4 |/ |6 K7 D - l; {% g) ^ E0 }+ ~3 X/ L# j7 T 开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。 ) z+ ~# T) r5 M2 K 每组GPIO端口的寄存器包括:1 K, a5 {5 j6 k4 | : q. Q, v/ X3 J# h2 ?( a 两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) $ Q/ g5 c7 |1 x7 b. J 两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) 一个32位置位/ 复位寄存器(GPIOx_BSRR)- A2 q( e/ ~6 y% Q8 U0 ^% Q 3 i0 b' M2 \9 D6 J0 J6 u/ K- D" t R 一个16位复位寄存器(GPIOx_BRR) ) x. O9 @$ q0 x: v( H/ t0 l 一个32位锁定寄存器(GPIOx_LCKR)0 L' @6 S, [- Z, x/ [# S* ^# \: K 每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。 每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。) j2 V$ h1 Q: V GPIOx_CRL :端口配置低寄存器 Z9 R9 {- x1 @2 S) q, d6 h9 O + u! f2 @4 p/ m$ b1 c GPIOx_CRH:端口配置高寄存器# ~2 n& R3 c% T1 R+ w3 p+ j" B $ A5 R& G( y0 u' @- K9 U+ ~; W7 t* G GPIOx_IDR:端口输入寄存器7 k" R, s: [" ^; {9 a1 L u q GPIOx_ODR:端口输出寄存器 GPIOx_BSRR:端口位设置/清除寄存器 GPIOx_BRR :端口位清除寄存器- j; @9 W$ w, X5 |2 @ GPIOx_LCKR:端口配置锁存寄存器; _* i5 J! ?' t9 y* j ^2 G7 N: o . O1 V: n) Z4 R* ^& j& g& D/ {( I 1.端口配置低寄存器(GPIOx_CRL)和端口配置高寄存器(GPIOx_CRH)
0 C+ V6 P* T( d" F 2.端口输入数据寄存器(GPIOx_IDR) , k& G O" i2 P% M( P) q
, b6 d4 ~& g7 U& a4 D- n+ f 端口输出数据寄存器(GPIOx_ODR) 7 {1 e1 w' A" F# M3 b& h # L- H, i2 [# S1 _! y# b 3.通过设置ODR控制端口位为上拉还是下拉输出模式 & `, h0 K2 o5 c5 [$ j& b, D
- ?. N" z$ o4 c. P, d ODRx设置为0就是下列输入,ODRx设置为1就是上拉输入。 * v- Q3 W; @% h% v9 A: W8 a 4.端口位设置/清除寄存器(GPIOx_BSRR) , J8 [8 _( h; O O8 \
3 m" e! M, L* w: x0 r F 端口位清除寄存器(GPIOx_BRR)( t6 @6 b* M0 B: i, K 6 C! @0 [! @4 ? Y 通常就采用BSRR的低16位和BRR的低16位,因为BRR的低16位与BSRR的高16位作用类似。 ) L2 J! F* I# D" _9 g4 T! i 5.端口复用功能: STM32的大部分端口都具有复用功能。 所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚。 6.端口重映射功能:就是可以把某些功能引脚映射到其他引脚。比如串口1默认引脚是PA9,PA10可以通过配置重映射映射到PB6,PB7。" D( y4 f8 K7 ` 2 v7 G/ o, s: r) L# z j* B" T 和51单片机相比,32所有的IO口都可以作为中断输入。 $ L- i7 c, b/ ~' z9 {1 m |
【评分有奖】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 区别
微信公众号
手机版
非常清楚 感谢。