一、GD32F407VET6点亮一个LED灯

07-17 1468阅读

零、所需文件及环境

        1、上一章新建好的工程模版

        2、编译环境MDK5(KEIL5)   

        3、一个GD32F07VET6硬件

        4、一个下载器j-link 或 st-link等

        5.一个官方参考文件GD32F4xx_Firmware_Library_V3.2.0

        6.代码编辑器 Notepad++   (可以不要 用记事本也能编译  都是习惯的问题

壹、复制工程模版

1.1 将新建好的工程模版复制一份并改一个自己喜欢的名字

一、GD32F407VET6点亮一个LED灯

1.2 进入USER/BSP文件夹下 创建一个BSP_LED文件夹

一、GD32F407VET6点亮一个LED灯

1.3 进入Project文件夹下 打开工程 如果没有修改过点.uvprojx结尾文件

一、GD32F407VET6点亮一个LED灯

1.4 打开工程后点两下新建文件

一、GD32F407VET6点亮一个LED灯

1.5 保存新建立的两个文件 注意文件保存路径 文件名添加前缀bsp后期文件太多方便管理

一、GD32F407VET6点亮一个LED灯

一、GD32F407VET6点亮一个LED灯

1.7 添加头文件路径 一定要点到根目录下  点两次ok 退出

一、GD32F407VET6点亮一个LED灯

一、GD32F407VET6点亮一个LED灯

一、GD32F407VET6点亮一个LED灯

贰、编写BSP_LED.c与BSP_LED.h代码

2.1 编写BSP_LED.h   所有自己写的.c和.h 记得多敲两行空行 不然会报警告

#ifndef  __BSP_LED_H

#define  __BSP_LED_H

#include "gd32f4xx.h"

#include

 

extern void LED_Init(void); 

extern void LED_Open(void);

extern void LED_Close(void);

#endif

2.2 编写BSP_LED.c   所有自己写的.c和.h 记得多敲两行空行 不然会报警告

#include "BSP_LED.h"

void LED_Init(void)

{

        /* enable the led clock */

    rcu_periph_clock_enable(RCU_GPIOE);

    /* configure led GPIO port */ 

    gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE,GPIO_PIN_1);

    gpio_output_options_set(GPIOE, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_1);

    gpio_bit_set(GPIOE,GPIO_PIN_1);

}

void LED_Open(void)

{

     gpio_bit_reset(GPIOE,GPIO_PIN_1);

    

}

void LED_Close(void)

{

    

     gpio_bit_set(GPIOE,GPIO_PIN_1);

}

2.3 你要问我为啥这个芯片初始化时这样写呢,官方的参考例程就在这儿,打开观摩观摩

一、GD32F407VET6点亮一个LED灯

一、GD32F407VET6点亮一个LED灯

2.3 将BSP_LED.c文件添加至工程    点那个三个颜色的品字形图标

一、GD32F407VET6点亮一个LED灯

肆、编写main函数

#include "gd32f4xx.h"

#include "systick.h"

#include

#include "BSP_LED.h"

int main(void)

{

//    gd_eval_led_init(LED1);

    systick_config();

    LED_Init();

    

    while(1) {

            

            LED_Open();

            delay_1ms(500);

            LED_Close();

          delay_1ms(500);

    }

}

伍、配置下载器

5.1 如果最开始的时候修改过工程名 则需要重新配置一下下载器 这也是我不爱修改工程名的原因

5.2 选择下载器没j-link   自己是啥选择自己的下载器 

一、GD32F407VET6点亮一个LED灯

陆、编译

6.1 点击这俩都可以

一、GD32F407VET6点亮一个LED灯

柒、下载

7.1  下载运行 灯在哪里布林布林的闪,观测好像是慢了一倍

一、GD32F407VET6点亮一个LED灯

7.2 找到这个文件把这个屏蔽打开外部8M晶振,主频168M。自己外部焊的啥就把哪一个打开。再次编译下载感觉好像正常了,闪烁频率为500ms了。又没示波器实际我也不知道,到时候串口通讯的时候再看吧。

一、GD32F407VET6点亮一个LED灯

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]