实验2 新建Stm32点灯项目
一、 实验准备
硬件:RFID 实验箱,电脑等。
软件:Keil4
工具:
1.JLINK 驱动安装(必备)
2.STM32芯片开发环境(必备)
3.串口助手sscom32(必备)
4.实验对应的源代码(必备)
二、 实验目的
1 熟悉 Keil4 开发环境的使用
2 掌握 STM32 工程建立
3 了解 STM32 官方库
4 了解 STM32 通用 I/O 端口的使用
三、 实验原理
1 GIPO 功能描述
每个 GPI/O 端口有两个 32 位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个 32 位数据寄存器(GPIOx_IDR,GPIOx_ODR),一个 32 位置位/复位寄存器 (GPIOx_BSRR),一个
- 位复位寄存器(GPIOx_BRR)和一个 32 位锁定寄存器 (GPIOx_LCKR)。 GPIO 端口的每个位可以有软件分别配置成多种模式。
- 输入浮空
- 输入上拉
- 输入下拉
- 模拟输入
- 开漏输出
- 推挽输出
- 推挽复用
- 开漏服用
每个端口位可以自由编程。具体的寄存器的配置及使用请查看文件:STM32 中文参考手册_v10.pdf
2 LED 灯硬件原理图
图1.1 LED 原理图
用 MC74HC573ADWR2 芯片,相关参数请查阅相关文件。LE 需要拉高使能芯片工作。LED1~8 分别对应了 PE5~PE2,与 PC3~PC0,将相应的引脚拉高点亮 LED 灯。
3 STM32 库
TM32F10x 标准外设库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例。每一个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件开发都由一个通用 API 驱动,API 对该驱动程序的结构,函数和参数名称都进行了标准化。所有的驱动源码都符合 ANSI-C。ST 公司已经把驱动源代码文档化。
此后的例程中我们将会频繁的使用到 STM32 库中的 API 进行开发。
4 SM32 引脚初始化
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOE
| RCC_APB2Periph_GPIOC , ENABLE); 初始化端口的时钟频率。
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 设置为输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 设置速率
GPIO_Init(GPIOE, &GPIO_InitStructure);
初始化端口
具体请参考例程源码。
四、 实验步骤
4.1 打开 KEIL4 开发环境并新建工程,如图 1.2 所示。
首先需要在电脑的某个路径下创建工程的根文件夹(如 E:\源代码\LED),笔者创建了 LED 文件夹用于工程的根目录。
打开 KEIL4 环境,点击 Project -> New uVision project,如图 1.2 示。
- 图1.2 点击后弹出如图 1.3 所示的提示框。