STM32跑马灯实验,编译通过 可以上传 LED灯就是不亮

2019-07-14 14:43发布

    RT: STM32跑马灯实验 编译通过 可以上传 LED灯就是不亮。  小弟之前是专门搞硬件开发的,现,在想学学嵌入式,板子是自己做的,MCU用的是STM32F407VGT6。用J-link调试的。     
代码如下


芯片设置如下





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
dmm156
2019-07-15 16:11
liangxxxxx 发表于 2019-1-9 07:12
兄弟,main函数里面没有配置系统时钟,看看配置一下结果如何;
你现在学习的话,最好学习HAL库,使用用STM32CubeMX软件

#include "sys.h"
#include "delay.h"
#include "usart.h"

void LED_Init(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure;
      
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);       //时钟使能   
   
    //GPIO C0,C6初始化
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_6 ;     //LED0 -- PC0   LED1 -- PC6
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;               //普通输出模式
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;              //推挽输出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;          //100MHz
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;                //上拉
    GPIO_Init(GPIOC, &GPIO_InitStructure);                      //初始化GPIO
      
    GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_6);               //GPIO C0,C6设置为高
       
}


int main(void)
{
    delay_init(168);                                           //初始化延时函数
    LED_Init();                                                //初始化LED端口
   
    /**下面是通过直接操作库函数的方式实现IO控制**/
    while(1)
    {
        GPIO_ResetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_6);       //GPIO C0,C6设置为低
        delay_ms(500); //延时500ms
               
        GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_6);         //GPIO C0,C6设置为高
        delay_ms(500); //延时500ms
    }
}

一周热门 更多>