基于STM32F103嵌入式实验指导书

  • 格式:docx
  • 大小:368.00 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一、STM32的开发环境与简单工程

一、实验目的

1、熟悉STM32开发板的开发环境;

2、熟悉MDK创建和配置STM32工程项目的基本流程;

3、熟悉STM32官方库的应用;

4、规范编程格式。

二、实验内容

本次实验配置MDK集成开发环境,新建一个简单的工程文件,添加STM32官方库并配置工程,编译运行这个工程文件。下载已经编译好的文件到开发板中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

三、预备知识

基本单片机硬件知识、单片机软件编程语言、程序创建和调试的基本方法。

四、实验设备及工具

硬件:STM32开发平台

软件:STM32官方库;PC机操作系统Windows 98、Windows 2000或Windows XP;KEIL MDK 集成开发环境;串口转usb驱动。

五、实验步骤

1、在准备存放工程文件的目录下创建一新文件夹,命名为Proj_GPIO;在Proj_GPIO 文件夹里面分别再创建四个文件夹:CMSIS、USER、LIB、OBJ。如图1。

其中CMSIS(Cortex Microcontroller Software Interface Standard)用于存放Cortex-M 处理器系列的与供应商无关的软件抽象层和启动相关的代码文件;

USER用于存放我们自己编写的代码文件(含自己移植的底层驱动),还有MDK工程;

LIB存放所有的官方底层驱动库文件;

OBJ用于工程输出的过程文件和最终的二进制文件。

图1

2、将官方库STM32F10x_StdPeriph_Lib_V3.5.0.rar解压。

1)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的所有文件和STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的所有文件都到第一步所创建的CMSIS文件夹中;

2)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver目录下的文件(目录inc和scr)复制到第一步创建的LIB文件夹中;

3)把STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template目录下的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h三个文件复制到USER文件夹中。

3、打开MDK软件,新建一个工程Proj_GPIO保存到Proj_GPIO/USER中。CPU选择STM32F103ZE,如图2;

图2

4、新建一个空文档main.c保存到USER中,然后根

据绝对路径将文件对应添加到工程中,如右图。

5、配置工程属性,右键点击工程文件中的Target 1选择Options for Target ‘Target 1’打开工程选项对话框。做如下修改:

1)Output选项勾选Create HEX File,然后点击Select Folder for Objects按钮定位输出文件保存目录到工程的OBJ文件;

2)Listing选项,同样点击Select Folder for Listings定位输出文件保存目录到工程的OBJ 文件;

3)C/C++选项,Define中填入

STM32F10X_HD,

USE_STDPERIPH_DRIVER系统的两个基

本宏定义;配置Include Paths属性,加入工

程中包含头文件的目录;如右图

4)后面Debug 和Utilities 两个选项如果使用J-link 或者其他调试器则需要做对应的修改,否则不用。

6、根据实验任务硬件原理图编写代码实现四个按键控制led 灯亮灭。 1)其中用户按键和LED 原理图如下:

图5

2)根据原理图初始化各IO 引脚,编写控制函数,然后主函数中调用。

实验二、ucos操作系统的移植

一、实验目的

1、掌握ucos到STM32的移植方法;

2、熟悉通过C语音处理底层寄存器的技巧;

3、了解STM32在ucos任务切换时的处理;

4、规范编程格式。

二、实验内容

本次实验通过用C语言编写6个操作系统相关函数和用汇编语言编写4个与处理器相关的函数,将实时操作系统µC/OS-Ⅱ移植到芯片STM32F103ZE中,并创建两个用户任务点亮led。学会操作系统的移植方法,深入掌握嵌入式操作系统µC/OS-Ⅱ在初始化任务和任务调度的实现方法,直观了解实时操作系统的体系结构和设计思想。

三、预备知识

基本单片机硬件知识、单片机软件编程语言、程序创建和调试的基本方法、ucos操作系统的任务调度原理、STM32的寄存器架构。

四、实验设备及工具

硬件:STM32开发平台

软件:STM32官方库;PC机操作系统Windows 98、Windows 2000或Windows XP;KEIL MDK 集成开发环境;串口转usb驱动。

五、实验步骤

1、按实验一的步骤新建一个工程Proj2_ucos。

2、将移植好的ucos源代码整个拷贝到我们的新建的工程目录中,然后按对应的文件路径添加到keil工程里(os_dbg.c和os_dbg_r.c只添加一个),如图6和图7。

图6 图7