一、实验目的
让开发板的LED灯具有三个挡位,闪烁的速度不一样
二、实验原理
本实验板连接了 3 个 LED 灯,这些 LED 灯的阴极都是连接到 STM32 的 GPIO 引脚, 只要我们控制 GPIO 引脚的电平输出状态,即可控制 LED 灯的亮灭。 若您使用的实验板 LED 灯的连接方式或引脚不一样,只需根据我们的工程修改引脚即可,程序的控制原理相同。
实验主要仪器设备
GEC-STM32F429开发板和keil 5软件
三、实验内容及步骤
- 首先用keil软件打开实验项目,确保可编译之后。
- 开发板使用usb连接线连接上电脑
- 然后使用点击load加载到开发板上。
- 修改代码,实现三档位闪烁速度,再次编译工程,加载到开发板观察效果。
- 修改的代码如下:
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @date 2015-xx-xx
* @brief 控制多彩流水灯
******************************************************************************
*/
#include "stm32f4xx.h"
#include "./led/bsp_led.h"
void Delay(__IO u32 nCount);
void speed(int time, int times);
int i;
/**
* @brief 主函数
* @param 无
* @retval 无
*/
int main(void)
{
/* LED 端口初始化 */
LED_GPIO_Config();
/* 控制LED灯 */
while (1)
{
speed(0x200000,3);
speed(0x500000,2);
speed(0xFFF000,1);
}
}
void Delay(__IO uint32_t nCount) //简单的延时函数
{
for(; nCount != 0; nCount--);
}
void speed(int time, int times){
for(i =0;i<times;i++){
LED1( ON ); // 亮
Delay(time);
LED1( OFF ); // 灭
LED2( ON ); // 亮
Delay(time);
LED2( OFF ); // 灭
LED3( ON ); // 亮
Delay(time);
LED3( OFF ); // 灭
}
}