野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9274|回复: 3

新人紧急求救!!!!

[复制链接]
发表于 2018-2-24 22:35:19 | 显示全部楼层 |阅读模式
我按照火哥讲的固件库编程进行点亮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)构成的一个死循环,这个警告我看火哥的视频的时候也没有出现啊,怎么解决啊?求大神帮忙啊
回复

使用道具 举报

发表于 2018-2-25 10:45:16 | 显示全部楼层
同新人,记得课程都有配套例程工程的,先试试例程行不行,再对比试试吧
回复 支持 反对

使用道具 举报

发表于 2018-2-25 11:11:51 | 显示全部楼层
把你的while(1)的后边的分号去掉就Ok了。基本C语言问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-25 12:14:33 | 显示全部楼层
Greenman_ARM 发表于 2018-2-25 11:11
把你的while(1)的后边的分号去掉就Ok了。基本C语言问题

多谢大神提醒。问题已解决
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-18 07:27 , Processed in 0.049250 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表