打印

流水灯不亮

[复制链接]
353|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
卡拉瓦乔|  楼主 | 2019-11-20 12:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下:bsp_led.h

#ifndef __LED_H
#define __LED_H
#include "stm32f10x.h"

#define macLED1_GPIO_PORT GPIOB
#define macLED1_GPIO_CLK RCC_APB2Periph_GPIOB
#define macLED1_GPIO_PIN GPIO_Pin_5

#define macLED2_GPIO_PORT GPIOB
#define macLED2_GPIO_CLK RCC_APB2Periph_GPIOB
#define macLED2_GPIO_PIN GPIO_Pin_0

#define macLED3_GPIO_PORT GPIOB
#define macLED3_GPIO_CLK RCC_APB2Periph_GPIOB
#define macLED3_GPIO_PIN GPIO_Pin_1

#define ON 0
#define OFF 1

#define LED1(a)    if(a) \
                         GPIO_SetBits(macLED1_GPIO_PORT,macLED1_GPIO_PIN);\
                   else \
                                                                         GPIO_ResetBits(macLED1_GPIO_PORT,macLED1_GPIO_PIN)
#define LED2(a)    if(a) \
                         GPIO_SetBits(macLED2_GPIO_PORT,macLED2_GPIO_PIN);\
                   else \
                                                                         GPIO_ResetBits(macLED2_GPIO_PORT,macLED2_GPIO_PIN)
#define LED3(a)    if(a) \
                         GPIO_SetBits(macLED3_GPIO_PORT,macLED3_GPIO_PIN);\
                   else \
                                                                         GPIO_ResetBits(macLED3_GPIO_PORT,macLED3_GPIO_PIN)


void LED_GPIO_Config(void);
#endif



bsp_led.c
#include "bsp_LED.h"

void LED_GPIO_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(macLED1_GPIO_CLK,ENABLE);
        GPIO_InitStructure.GPIO_Pin = macLED1_GPIO_PIN;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(macLED1_GPIO_PORT,&GPIO_InitStructure);
        GPIO_InitStructure.GPIO_Pin = macLED2_GPIO_PIN;
        GPIO_Init(macLED2_GPIO_PORT,&GPIO_InitStructure);
        GPIO_InitStructure.GPIO_Pin = macLED3_GPIO_PIN;
        GPIO_Init(macLED3_GPIO_PORT,&GPIO_InitStructure);
        GPIO_SetBits(macLED1_GPIO_PORT,macLED1_GPIO_PIN);
        GPIO_SetBits(macLED2_GPIO_PORT,macLED2_GPIO_PIN);
        GPIO_SetBits(macLED3_GPIO_PORT,macLED3_GPIO_PIN);
}


main.c
#include "stm32f10x.h"
#include "bsp_LED.h"

/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
void Delay(__IO u32 nCount);
int main(void)
{

  while (1)
  {
                LED1(ON);
                Delay(0x0FFFEF);
                LED1(OFF);
                LED2(ON);
                Delay(0x0FFFEF);
                LED2(OFF);
                LED3(ON);
                Delay(0x0FFFEF);
                LED3(OFF);
  }
}
void Delay(__IO u32 nCount)
{
        for(;nCount!=0;nCount--);
}


jtag(SMD模式,只用了4根线)和ISP下载都试了,下载成功了,但是板子上灯不亮

用的是mini初学板,LED的引脚是查的光盘中的原理图
看到书上说如果GPIO复用了其他的引脚还需要打开其他的始终不知道是不是这个问题

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

438

主题

438

帖子

0

粉丝