实验报告
课程名称:
嵌入式系统
学院:
信息工程
专业:
电子信息工程
班级:
学生姓名:
学号:
指导教师:
开课时间:
学年
第一
学期
实验名称:
IO接口(跑马灯)
实验时间:
实验成绩:
一、实验目的
STM32F4 基本IO口的使用。
IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。
,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。
二、实验原理
本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。
三、实验资源
实验器材:
探索者STM32F4开发板
硬件资源:
DS0(连接在PF9)
DS1(连接在PF10)
四、实验内容及步骤
(1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。
(2),新建一个文件,然后保存在 LED 文件夹下面,保存为 ,。
(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。
(4),保存在 LED 文件夹下,。
使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 :
:
五、实验源程序
相关代码如下所示:
(1)
#include ""
void LED_Init(void)
{
RCC->AHB1ENR|=1<<5;//
GPIO_Set(GPIOF,PIN9|PIN10,GPIO_MODE_OUT,GPIO_OTYPE_PP, GPIO_SPEED_100M,GPIO_PUPD_PU); //PF9,PF10 设置
LED0=1;//LED0 关闭
LED1=1;//LED1 关闭
}
(2)
#ifndef __LED_H
#define __LED_H
#include ""
//LED 端口定义
#define LED0 PFout(9) // DS0
#define LED1 PFout(10) // DS1
void LED_Init(void); //初始化
#endif
(3)main函数
#include ""
#include ""
#include ""
int main(void)
{
Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
delay_init(168); //初始化延时函数
LED_Init(); //初始化 LED 时钟
while(1)
{
LED0=0; //DS0 亮
LED1=1; //DS1 灭
delay_ms(500);
LED0=1; //DS0 灭
LED1=0; //DS1 亮
delay_ms(500);
}
}
六、实验总结
本次实验过程中,由于第一次实验,对实验器件,还有实验过程都不大了解,使得做实验过程中遇到很大的问题。也花费了不少时间,不过在慢慢的摸索中,以及老师的指导和同学的帮助下,最终也了解了探索者STM32F4开发板的外部结构,以及各个引脚的作用,还有各个串口和并口的具体使用,还观察了跑马灯的运行状态,以及它的运行程序。
七、预习思考题
八、注意事项
(1)新建文件夹时,区分不同的文件夹之间的关系。
(2)编写代码时,注意格式和符号,在英文环境下输入。
实验名称:
触摸屏
实验时间:
实验
嵌入式系统实验报告 来自淘豆网m.daumloan.com转载请标明出处.