stm32f411ret6
day2
GPIO功能:
输出功能
输入功能
复用功能 片内外设的对外接口
时序模拟 SPI、I2S和UART等常用接口的时序
5V电压容限(除了用于AD采集的引脚之外)
外部中断功能
模块-端口-引脚 10个硬件寄存器/端口
50个GPIO,外部时钟占四个,PA13和PA14作为SWD接口占据个,所以共44个
寄存器:
模式寄存器GPIOx_MODER(每两位对应一个引脚)
00:输入模式(复位值)
01:输出模式
10:复用模式
11:模拟模式
输出类型寄存器GPIOx_OTYPER(低16位的每一位对应一个引脚)
0:推挽输出(复位值) 1:开漏输出
输出速度寄存器GPIOx_OSPEEDR(每两位对应一个引脚)
00:低速(复位值)
01:中速
10:高速
11:超高速
上拉/下拉寄存器GPIOx_PUPDR(每两位对应一个引脚)
00:无上拉和下拉电阻(复位值)
01:使能上拉电阻
10:使能下拉电阻
11:保留
输入数据寄存器GPIOx_IDR(低16位的每一位对应一个引脚)
0:对应引脚输入低电平
1:对应引脚输入高电平
输出数据寄存器GPIOx_ODR(低16位的每一位对应一个引脚)
0:对应引脚输出低电平
1:对应引脚输出高电平
有可能该引脚在外围电路的作用下拉到了低电平,要读取输入数据寄存器
置位/复位寄存器GPIOx_BSRR
低16位控制对应引脚输出低电平:写入1对应引脚输出低电平,写入0没有任何作用,所以可以赋值,不像其他的按位操作
#define GPIOA_MODER (volatile unsigned int)(0x40020000UL)