一、GD32F407VET6点亮一个LED灯

零、所需文件及环境

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

        2、编译环境MDK5(KEIL5)   

        3、一个GD32F07VET6硬件

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

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

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

壹、复制工程模版

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

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

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

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

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

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

贰、编写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 <stdio.h>


 
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 你要问我为啥这个芯片初始化时这样写呢,官方的参考例程就在这儿,打开观摩观摩

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

肆、编写main函数

#include "gd32f4xx.h"
#include "systick.h"
#include <stdio.h>
#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   自己是啥选择自己的下载器 

陆、编译

6.1 点击这俩都可以

柒、下载

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

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

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值