金牌会员
 
- 积分
- 1292
- 金钱
- 1292
- 注册时间
- 2014-12-20
- 在线时间
- 534 小时
|
发表于 2015-9-4 12:08:11
|
显示全部楼层
你这里加extern仅仅是声明其他C文件(猜是LED.c)里的一个函数,而并非调用了这个函数,所以你这里还没有对LED进行初始化呢。
若是这么做,应该这样:
#include "stm32f10x.h"
#include "delay.h"
#include "LED.h"
int main(void)
{
extern LED_Init();//声明函数
LED_Init();//调用函数
delay_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);
}
}
或者这样:
#include "stm32f10x.h"
#include "delay.h"
#include "LED.h"
extern LED_Init();//声明函数
int main(void)
{
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);
}
}
若要像视频那样,应该这样:
在LED.h里面声明这个函数,即添加:
extern LED_Init();//声明函数
在main.c里面就可以这样了:
#include "stm32f10x.h"
#include "delay.h"
#include "LED.h"
int main(void)
{
LED_Init();
delay_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);
}
} |
|