流水灯代码 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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我用的是mdk5 自带的哪个仿真 观察PA3一直是高电平
一周热门 更多>