
![]() STM32F103ZET6(144脚芯片) 7组IO,每组16个,一共112个IO口。 GPIOA,GPIOB…GPIOG GPIOA ![]() FT表示可以容忍5V 一、4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入 1.GPIO的输入工作模式1—输入浮空模式 ![]() 2.GPIO的输入工作模式2—输入上拉模式 ![]() 3.GPIO的输入工作模式3—输入下拉模式 ![]() 4.GPIO的输入工作模式4—模拟模式 ![]() 二、4种输出模式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能 1.GPIO的输出工作模式1—开漏输出模式 2.GPIO的输出工作模式2—开漏复用输出模式 ![]() 3.GPIO的输出工作模式3—推挽输出模式 ![]() 4.GPIO的输出工作模式4—推挽复用输出模式 三、3种最大翻转速度:2MHZ,10MHZ,50MHZ 四、GPIO工作方式 推挽输出:可以输出强高低电平,连接数字器件 。 开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。 每组GPIO端口的寄存器包括: 两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) 两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) 一个32位置位/ 复位寄存器(GPIOx_BSRR) 一个16位复位寄存器(GPIOx_BRR) 一个32位锁定寄存器(GPIOx_LCKR) 每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。 每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。 GPIOx_CRL :端口配置低寄存器 GPIOx_CRH:端口配置高寄存器 GPIOx_IDR:端口输入寄存器 GPIOx_ODR:端口输出寄存器 GPIOx_BSRR:端口位设置/清除寄存器 GPIOx_BRR :端口位清除寄存器 GPIOx_LCKR:端口配置锁存寄存器 1.端口配置低寄存器(GPIOx_CRL)和端口配置高寄存器(GPIOx_CRH) ![]() 2.端口输入数据寄存器(GPIOx_IDR) ![]() 端口输出数据寄存器(GPIOx_ODR) 3.通过设置ODR控制端口位为上拉还是下拉输出模式 ![]() ODRx设置为0就是下列输入,ODRx设置为1就是上拉输入。 4.端口位设置/清除寄存器(GPIOx_BSRR) ![]() 端口位清除寄存器(GPIOx_BRR) 通常就采用BSRR的低16位和BRR的低16位,因为BRR的低16位与BSRR的高16位作用类似。 5.端口复用功能: STM32的大部分端口都具有复用功能。 所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚。 6.端口重映射功能:就是可以把某些功能引脚映射到其他引脚。比如串口1默认引脚是PA9,PA10可以通过配置重映射映射到PB6,PB7。 和51单片机相比,32所有的IO口都可以作为中断输入。 |
【经验分享】STM32F0xx_DMA收发USART数据配置详细过程
【经验分享】STM32F1和STM32F4 区别
【经验分享】STM32F1系列之常用外设说明
【经验分享】STM32F1x系列——Flash 模拟 EEPROM
【经验分享】STM32F1在MDK下新建标准库函数工程
【经验分享】stm32f1的存储器与复位
【经验分享】STM32 system_stm32f10x.c文件分析
【经验分享】stm32F1 us延时函数
【经验分享】STM32F1之定时器
【经验分享】【stm32】stm32f1代码中core_cm3、system_stm32f10x、stm32f10x_conf、stm32f10x等文件的作用
非常清楚 感谢。