第二章 新建工程

1. 目前 STM32 的开发方式主要有基于寄存器的方式,基于标准库和基于 HAL 库的方式。一般用库函数来操作。

第二章 新建工程_第1张图片(1) stm32f10x.h 是 STM32 的外设寄存器描述文件,它的作用就跟 51 单片机的头文件 REGX52.H 是一样的,是用来描述 STM32 有哪些寄存器和它对应的地址的,另外两个 system 文件是用来配置时钟的。

第二章 新建工程_第2张图片

(2) 这两个 cm3(Cortex - M3)文件就是内核的寄存器描述,还带了一些内核的配置函数,所以多了个 .c 文件。

(3) 库函数文件(Library Function Files)是指包含多个预先编写并被广泛使用的函数的文件,通常由开发人员在编程时调用。这些文件可以包含常用的功能模块,开发人员通过调用这些函数来避免重复编写代码,提高编程效率。

2. 利用库函数点亮PCB口的灯(一般用这种方法)

第二章 新建工程_第3张图片

(1) 用来配置库函数头文件的包含关系的是指在STM32中或其他嵌入式系统中,库函数的头文件通过 #include 指令在源代码中包含其他头文件的方式。本质上是通过正确选择和包含适当的头文件,来控制和配置硬件外设、启用必要的库函数,并确保代码中能访问这些外设和函数。

(2) 具体步骤:

使能时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, Enable)。STM32 的外设(如GPIO)在使用前需先开启对应的时钟,由于 PC13 属于 GPIOC,而 GPIOC 挂载在 APB2 总线上,故需要使用以上函数使能时钟。在嵌入式开发中,“ enable ” 通常翻译为“ 使能 ”,其具体含义是开启或激活某个功能模块

a. ENABLE:打开时钟(使能)

b. DISABLE:关闭时钟(禁用)

配置端口模式 GPIO_Init(GPIO_TypeDef *GPIOx, InitStruct 结构体),根据结构体参数配置 GPIO。

第二章 新建工程_第4张图片

a. 推挽输出(Push-Pull Output)是数字电路中一种常见的输出模式,其核心原理是通过两个互补的晶体管(一个”推“,一个”拉“)主动驱动信号线的高电平和低电平

b. 结构:推挽输出包含两个晶体管。

  • 上管(PNP晶体管):负责将信号拉至高电平(如VCC)
  • 下管(NPN晶体管):负责将信号拉至低电平(如GND)

c. 工作方式:

  • 输出高电平时:上管导通,下管关闭,信号线直接连接到电源(VCC)
  • 输出低电平时:下管导通,上管关闭,信号线直接连接到地(GND)
  • 两者不会同时导通,避免电源短路。

设置端口的高低电平进行点灯(高不亮,低亮)

  GPIO_SetBits 指定端口设置为高电平GPIO_ReSetBits 指定端口设置为低电平

3. 新建工程步骤:

① 建立工程文件夹,Keil 中新建工程,选择型号。

② 工程文件夹中建立 Start、LIbrary、User 等文件夹,复制固件库里面的文件到工程文件夹。

③ 工程里对应建立 Start、Library、User 等同名称的分组,然后将文件夹内的文件添加到工程分组里。

④ 工程选项,C/C++,Include Paths 内声明所有包含头文件的文件夹。

⑤ 工程选项,C/C++,Define 内定义 USE_STDPERIPH_DRIVER。

⑥ 工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download 里勾选 Reset and Run 。

你可能感兴趣的:(单片机,c#,stm32,嵌入式硬件,STM32)