1、GPIO通用输入输出引脚,总引脚数176个,出去最小系统剩下144个,每16个一组,分成9组,每个组给个编号,从A开始,A---I,A0----A15,B0------B15。
2、输出控制分为推挽和开漏,开漏没有高电平输入,开漏外部必须有上拉电阻,高阻态介于高低电平之间,起始状态要高电平可以上拉 ,起始状态要低,电平可以下拉,不拉是浮空。
3、.c到.exe的转换过程
(1)、预处理(把.h文件所有内容复制.c里面,宏展开,别名替换,枚举替换)
(2)、编译(.c转到.s(汇编语言))每一个.c文件都要转成.s文件
(3)、汇编.s文件转换.o文件(目标文件)每一个.s文件生成一个.o文件
(4)、链接.o在windows下生成.exe文件,在linux下生成.elf文件。
4、
PH10 --------低电平点亮 高电平熄灭
程序编写流程:
1. 硬件初始化
(a)时钟源打开
通过RCC打开 GPIOH 的时钟源
RCC首地址 0x40023800
RCC_AHB1ENR---- 0x100080偏移 0x30
(b)外设初始化
GPIOH首地址 0x40021C00
PH10 ----输出
GPIOH_MODER ---- 0x100000设置为输出 偏移 0x00
推挽
GPIOH_OTYPER -----0x00000000推挽 偏移 0x04
上拉
GPIOH_PUPDR -----0x100000设置为上拉偏移0x0C
低速
GPIOH_OSPEEDR-- 0x00000000速度低速 偏移0x08
2、硬件控制
高低电平输出
GPIOH_ODR------偏移 0x14
H ----- 0x400
L ----- 0x00