STM32学习2 GPIO学习
应该是先由MODE位决定是输入还是输出,再由CNF位来决定是哪种输入,输出方式。
复位期间和刚复位后,复用功能未开启,IO端口被配置成浮空输入模式。
所有的端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。
锁定机制允许冻结IO配置。当在一个端口位上执行了锁定程序,在下一次复位之前,将不能再更改端口位的配置。(复位了还是可以清除的,这里是指不能再软件操作了吗?)
复用功能IO口不明白是什么意思?
是指IO口在使用USART,SPI都功能时的IO口输出模式吗?
输出模式中的最大速度是什么用??三个不同的速度有什么区别?
STM32F103RTB6 64PIN,LQFP封状的芯片:
有PA0~PA15,PB0~PB15,PC0~PC15,PD0~PD2一共16*3+3=51个引脚
VSS1,VDD1~VSS4,VDD4一共有8个引脚
还有VBAT,NRST,VSSA,VSSD,BOOT0 共5个引脚
STM32的GPIO口一般是16个,每一个GPIO口都要4位配置位进行控制。就是要两个32位的寄存器。也就是CRH,CRL.
GPIOx_BSRR和GPIOx_BRR有什么区别?
BSRR不是也可以清0吗?
当执行正确的写序列设置了位16(LCKK)时,该寄存器用来锁定端口位的配置。位[15:0]用于锁定GPIO端口的配置。在规定的写入操作期间,不能改变LCKP[15:0]。当对相应的端口位执行了,LOCK序列后,在下次系统复位之前将不能再更改端口位的配置。
每一个锁定位锁定控制寄存器(CRL,CRH)中相应的4位。
为了优化64脚或100脚封装的外设数目,可以把一些复用功能重新映射到期他引脚上。设置复用重映和调试IO配置寄存器实现引脚的得新映射。这时,复用功能不再映射到它们的原始分配上。(这个功能,好像比较有趣?)