跑马灯实验
1.跑马灯硬件连接
推挽输出
IO口输出高电平,LED灭,输出低电平,LED亮
2.GPIO相关库函数说明
操作io口必须引入的源文件和头文件
头文件:stm32f10x_gpio.h
源文件:stm32f10x_gpio.c
3.代码
led.h文件:
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
#endif
led.c文件
#include "LED.h"
#include "stm32f10x.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitTypeStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE ,ENABLE);//打开GPIOB、GPIOE时钟
//初始化GPIOB
GPIO_InitTypeStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitTypeStructure.GPIO_Pin=GPIO_Pin_5;
GPIO_InitTypeStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitTypeStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB5输出高电平,灯亮
//初始化GPIOE
GPIO_InitTypeStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitTypeStructure.GPIO_Pin=GPIO_Pin_5;
GPIO_InitTypeStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOE,&GPIO_InitTypeStructure);
GPIO_SetBits(GPIOE,GPIO_Pin_5);//PE5输出高电平,灯亮
}
main.c文件
#include "stm32f10x.h"
#include "LED.h"
#include "delay.h"
int main(void)
{
delay_init();
LED_Init();
while(1){
GPIO_SetBits(GPIOB,GPIO_Pin_5);
GPIO_SetBits(GPIOE,GPIO_Pin_5);
delay_ms(500);//调用延时函数
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
delay_ms(500);
}
}
版权声明:本文为qq_43748400原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。