GPIO定义
STM32F1 IO 口分组
分为 A,B,C,D,E,F,G 七组GPIO口
其中每一组最多存在16个GPIO口,例如GPIOA0~GPIOA15
AFIO表示重映射,使用端口重映射时使用,使用默认复用不用打开
操作GPIO口:
压差概念
TTL电平概念, 0-1.8V低电平(0表示),1.8-5V高电平(1表示)
GPIO点灯:
开漏:双向,且是漏极
注意:如果在自定义文件和头文件中使用库已定义的文件的话,要包含在库头文件,一般在头文件包含,因为头文件会自定义一些对象并被文件使用,如果包含在文件中容易使头文件的自定义对象不能使用库已定义的对象,而头文件因为被文件包含所以都能使用
一般是把库头文件和所有自定义头文件放在一个头文件,且每个头文件再包含库头文件防止出现上诉错误
*********************************************************************************************************************
输出操作:
1.GPIO时钟使能
2.GPIO配置
3.GPIO配置使能
4.实际去操作其输出情况
输入操作:和输出类似
1.配置配置成输入
2.根据输入去实际操作
常用的相关寄存区:
定义在GPIOX结构体内(X = A..E)
端口配置低寄存器(GPIOx_CRL) (x=A..E) 低8位管脚配置
端口配置高寄存器(GPIOx_CRH) (x=A..E) 高8位管脚配置
端口输入数据寄存器(GPIOx_IDR) (x=A..E)
端口输出数据寄存器(GPIOx_ODR) (x=A..E)
端口位设置/清除寄存器(GPIOx_BSRR)
(x=A..E)
端口位清除寄存器(GPIOx_BRR) (x=A..E)
端口配置锁定寄存器(GPIOx_LCKR) (x=A..E)