学前班
最后登录1970-1-1
在线时间 小时
注册时间2018-2-24
|
我按照火哥讲的固件库编程进行点亮LED 灯
led的头文件
#ifndef _LED_H
#define _LED_H
#include "stm32f4xx.h"
void led_gpio_config(void);
#endif
led的源文件
#include "led.h"
void led_gpio_config(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Speed=GPIO_Low_Speed;
GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(GPIOF,&GPIO_InitStruct);
GPIO_ResetBits(GPIOF,GPIO_Pin_8);
}
main的源文件
#include "stm32f4xx.h"
#include "led.h"
void delay(unsigned int c)
{
unsigned int a,b;
for(;c>0;c--)
for(a=38;a>0;a--)
for(b=130;b>0;b--);
}
int main(void)
{
led_gpio_config();
while(1);
{
GPIO_SetBits(GPIOF,GPIO_Pin_8);
delay(3000);
GPIO_ResetBits(GPIOF,GPIO_Pin_8);
delay(3000);
}
}
结果现在的问题就是pf6的灯亮了而且是一直在亮,无论注释掉哪行,也都是红灯亮(pf6引脚的灯),换言之,8号的引脚根本就没有亮啊。
除了这个问题外,我在编译以上的程序时,显示了“statement is unreachable”警告,我查询后得知,是因为编译器认为进入了while(1)构成的一个死循环,这个警告我看火哥的视频的时候也没有出现啊,怎么解决啊?求大神帮忙啊
|
|