一、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了。又没示波器实际我也不知道,到时候串口通讯的时候再看吧。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 15:00:04       123 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 15:00:04       131 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 15:00:04       109 阅读
  4. Python语言-面向对象

    2024-07-20 15:00:04       117 阅读

热门阅读

  1. 网络爬虫基础介绍

    2024-07-20 15:00:04       27 阅读
  2. Linux内存从0到1学习笔记(8.20 ION (二))

    2024-07-20 15:00:04       26 阅读
  3. 基于 Go1.19 的站点模板爬虫:构建与实战

    2024-07-20 15:00:04       28 阅读
  4. Redis

    Redis

    2024-07-20 15:00:04      26 阅读
  5. 订单管理系统需求规范

    2024-07-20 15:00:04       32 阅读
  6. E15.【C语言】练习:逗号表达式和前置后置++

    2024-07-20 15:00:04       27 阅读
  7. VScode+latex+Sumatra 环境配置

    2024-07-20 15:00:04       33 阅读
  8. 宠物健康管理新突破:智能听诊器

    2024-07-20 15:00:04       28 阅读
  9. 学习计算机

    2024-07-20 15:00:04       28 阅读
  10. 前端出发能走多远——写在前面

    2024-07-20 15:00:04       29 阅读
  11. Linux 之 grep命令详解

    2024-07-20 15:00:04       27 阅读
  12. 小程序底层原理

    2024-07-20 15:00:04       28 阅读
  13. 力扣第十八题——四数之和

    2024-07-20 15:00:04       28 阅读
  14. python处理DWG文件

    2024-07-20 15:00:04       23 阅读
  15. Mojo AI编程语言(九)网络编程:构建联网应用

    2024-07-20 15:00:04       28 阅读
  16. CSS Shapes布局

    2024-07-20 15:00:04       25 阅读