初中生
最后登录1970-1-1
在线时间 小时
注册时间2020-2-19
|
楼主 |
发表于 2020-2-20 11:32:49
|
显示全部楼层
bsp_led.c文件
// bsp board support package 板级支持包
#include "./led/bsp_led.h"
void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitTStruct;
/* 第一步:打开外设时钟 */
RCC_APB2PeriphClockCmd(LED1_GPIO_CLK|LED2_GPIO_CLK|LED3_GPIO_CLK, ENABLE);
/* 第二步:配置外设初始化结构体 */
GPIO_InitTStruct.GPIO_Pin = LED1_GPIO_PIN;
GPIO_InitTStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitTStruct.GPIO_Speed = GPIO_Speed_10MHz;
/* 第三步:调用外设初始化函数,把配置好的结构体成员写到寄存器里面 */
GPIO_Init(LED1_GPIO_PORT, &GPIO_InitTStruct);
/* 关闭所有led1灯 */
GPIO_SetBits(LED1_GPIO_PORT, LED1_GPIO_PIN);
// led 2 蓝
GPIO_InitTStruct.GPIO_Pin =LED2_GPIO_PIN;
GPIO_Init(LED2_GPIO_PORT, &GPIO_InitTStruct);
GPIO_SetBits(LED2_GPIO_PORT, LED2_GPIO_PIN);
// led 3 红
GPIO_InitTStruct.GPIO_Pin = LED3_GPIO_PIN;
/* 第三步:调用外设初始化函数,把配置好的结构体成员写到寄存器里面 */
GPIO_Init(LED3_GPIO_PORT, &GPIO_InitTStruct);
GPIO_SetBits(LED3_GPIO_PORT, LED3_GPIO_PIN);
}
bsp_led.h文件
#ifndef __BSP_LED_H
#define __BSP_LED_H
#include "stm32f10x.h"
#define LED1_GPIO_CLK RCC_APB2Periph_GPIOB
#define LED1_GPIO_PORT GPIOB
#define LED1_GPIO_PIN GPIO_Pin_0
#define LED2_GPIO_CLK RCC_APB2Periph_GPIOB
#define LED2_GPIO_PORT GPIOB
#define LED2_GPIO_PIN GPIO_Pin_1
#define LED3_GPIO_CLK RCC_APB2Periph_GPIOB
#define LED3_GPIO_PORT GPIOB
#define LED3_GPIO_PIN GPIO_Pin_5
// C语言知识点,^:两个数异或(^),相同的话为0,不同的话为1
#define digitalTOGGLE(p,i) {p->ODR ^=i;}
#define LED1_TOGGLE digitalTOGGLE(LED1_GPIO_PORT,LED1_GPIO_PIN)
#define LED2_TOGGLE digitalTOGGLE(LED2_GPIO_PORT,LED2_GPIO_PIN)
#define LED3_TOGGLE digitalTOGGLE(LED3_GPIO_PORT,LED3_GPIO_PIN)
void LED_GPIO_Config(void);
#endif /* __BSP_LED_H */
帮忙看一下哪里出错了 谢谢
|
|