嵌入式系统实验报告.doc
|实 验 报 告课程名称: 嵌入式系统学 院: 信息工程专 业: 电子信息工程班 级:学生姓名:|学 号:指导教师:开课时间: 学年 第一 学期|实验名称: IO 接口(跑马灯)实验时间: 11.16 实验成绩:一、实验目的1.掌握 STM32F4 基本 IO口的使用。2.使用 STM32F4 IO口的推挽输出功能,利用 GPIO_Set函数来设置完成对 IO 口的配置。3.控制 STM32F4的 IO口输出,实现控制 ALIENTEK 探索者 STM32F4开发板上的两个 LED实现一个类似跑马灯的效果。二、实验原理本次实验的关键在于如何控制 STM32F4的 IO口输出。IO 主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH 和 AFRL等 8个寄存器的控制,并且本次实验主要用到 IO口的推挽输出功能,利用 GPIO_Set函数来设置,即可完成对 IO口的配置。所以可以通过了开发板上的两个 LED灯来实现一个类似跑马灯的效果。三、实验资源实验器材:探索者 STM32F4开发板硬件资源:1. DS0(连接在 PF9) 2. DS1(连接在 PF10)四、实验内容及步骤1.硬件设计2.软件设计(1)新建 TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个 LED文件夹,用来存放与 LED相关的代码。(2)打开 USER文件夹下的 test.uvproj工程,新建一个文件,然后保存在 LED |文件夹下面,保存为 led.c,在 led.c中输入相应的代码。(3)采用 GPIO_Set 函数实现 IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭) ,使两个 LED 的初始化。(4)新建一个 led.h文件,保存在 LED 文件夹下,在 led.h中输入相应的代码。3.下载验证使用 flymcu 下载(也可以通过 JLINK等仿真器下载) ,如图 1.2 所示:图 1.2运行结果如图 1.3所示:|图 1.3五、实验源程序相关代码如下所示:(1) led.c文件#include “led.h“void LED_Init(void)RCC->AHB1ENR|=1(lcddev.width-24)else TP_Draw_Big_Point(tp_dev.x0,tp_dev.y0,RED); /画图else delay_ms(10); /没有按键按下的时候if(key=KEY0_PRES) /KEY0 按下,则执行校准程序 LCD_Clear(WHITE); /清屏TP_Adjust(); /屏幕校准TP_Save_Adjdata();Load_Drow_Dialog();i+;if(i%20=0)LED0=!LED0; (3) /电容触摸屏测试函数void ctp_test(void) u8 t=0; u8 i=0;u16 lastpos52; /最后一次的数据while(1) tp_dev.scan(0);for(t=0;t<5;t+)