菜狗求助

2019-08-19 20:29发布

流水灯代码  debug时 mdk5自带的那个仿真 pa3一直是高电平  求给看看哪不对  好像led.h没有起作用
main.c如下
#include "stm32f10x.h"
#include "led.h"

void delay(__IO u32 i);
void gpioconfig();

int main()
{
        gpioconfig();
       
        while(1)
        {
                led1(on);
                delay(0x0fffff);
                led1(off);
                led2(on);
                delay(0x0fffff);
                led2(off);
                led3(on);
                delay(0x0fffff);
                led3(off);
        }
}
void delay(__IO u32 i)
{
        for(; i !=0; i--);
}
void gpioconfig()
{
        GPIO_InitTypeDef GPIO_Initstructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
        GPIO_Initstructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
        GPIO_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_Initstructure);
        GPIO_SetBits(GPIOA,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5);
}

led.h如下
#ifndef __led_H
#define __led_H

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

#define on  0
#define off 1
#define led1(a) if(a)  
                GPIO_SetBits(GPIOC,GPIO_Pin_3);
else  
                GPIO_ResetBits(GPIOC,GPIO_Pin_3)
               
#define led2(a) if(a)  
        GPIO_SetBits(GPIOC,GPIO_Pin_4);
else  
        GPIO_ResetBits(GPIOC,GPIO_Pin_4)

#define led3(a) if(a)  
        GPIO_SetBits(GPIOC,GPIO_Pin_5);
else  
        GPIO_ResetBits(GPIOC,GPIO_Pin_5)

#endif


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。