第七周第二天2019-12-10

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、

第七周第二天2019-12-10_第1张图片


第七周第二天2019-12-10_第2张图片


第七周第二天2019-12-10_第3张图片

PH10 --------低电平点亮  高电平熄灭

程序编写流程:

1. 硬件初始化

(a)时钟源打开

通过RCC打开 GPIOH 的时钟源

RCC首地址       0x40023800


第七周第二天2019-12-10_第4张图片


第七周第二天2019-12-10_第5张图片

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

你可能感兴趣的:(第七周第二天2019-12-10)