K210基础实验——点亮LED灯

一、目的是点亮K210开发板左下角的LED0和LED1,LED0是红灯,LED1是绿灯,两颗LED灯都是低电平点亮,高电平熄灭。

二、这是原理图上的硬件连接,LED0连接的是IO0,LED1连接的是IO17。

三、在src目录下新建文件夹

四、为了跟官方的例程区分开来,名字叫做gpio_led1

五、在gpio_led1目录下新建文件

六、新建两个文件,分别是main.c和pin_config.h

七、在main.c文件中写入如下代码

c 复制代码
#include "pin_config.h"
#include <stdio.h>
#include <unistd.h>
#include "gpio.h"

void hardware_init(void)
{
    fpioa_set_function(PIN_LED_0, FUNC_LED0);
    fpioa_set_function(PIN_LED_1, FUNC_LED1);
}


int main(void)
{
        hardware_init();// 硬件引脚初始化

        gpio_init();    // 使能GPIO的时钟

        // 设置LED0和LED1的GPIO模式为输出
        gpio_set_drive_mode(LED0_GPIONUM, GPIO_DM_OUTPUT);
        gpio_set_drive_mode(LED1_GPIONUM, GPIO_DM_OUTPUT);

        // 先关闭LED0和LED1
        gpio_pin_value_t value = GPIO_PV_HIGH;
        gpio_set_pin(LED0_GPIONUM, value);
        gpio_set_pin(LED1_GPIONUM, value);

        while (1)
        {
          sleep(1); //延时1s
          gpio_set_pin(LED0_GPIONUM, value);
          gpio_set_pin(LED1_GPIONUM, value = !value);
        }

        return 0;
}

八、在pin_config.h文件中写入如下代码

c 复制代码
#ifndef _PIN_CONFIG_H_
#define _PIN_CONGIG_H_

/*****************************HEAR-FILE************************************/
#include "fpioa.h"

/*****************************HARDWARE-PIN*********************************/
// 硬件IO口,与原理图对应
#define PIN_LED_0             (0)
#define PIN_LED_1             (17)

/*****************************SOFTWARE-GPIO********************************/
// 软件GPIO口,与程序对应
#define LED0_GPIONUM          (0)
#define LED1_GPIONUM          (1)

/*****************************FUNC-GPIO************************************/
// GPIO口的功能,绑定到硬件IO口
#define FUNC_LED0             (FUNC_GPIO0 + LED0_GPIONUM)
#define FUNC_LED1             (FUNC_GPIO0 + LED1_GPIONUM)


#endif

九、在build路径下输入cmake ... -DPROJ=gpio_led1 -G "MinGW Makefiles"

十、再输入make进行编译

十一、编译成功

十二、编译成功后会在build目录下生成 .bin 文件

十三、打开K210官方提供的烧录工具

十四、烧录刚刚生成的.bin文件

十五、LED灯交替点亮,现象正常

相关推荐
木子.李3471 小时前
排序算法总结(C++)
c++·算法·排序算法
freyazzr2 小时前
C++八股 | Day2 | atom/函数指针/指针函数/struct、Class/静态局部变量、局部变量、全局变量/强制类型转换
c++
fpcc3 小时前
跟我学c++中级篇——理解类型推导和C++不同版本的支持
开发语言·c++
学生哥-_-3 小时前
STM32通过KEIL pack包轻松移植LVGL,并学会使用GUI guider
stm32·lvgl·tftlcd·gui guider·gt911
三三十二3 小时前
STM32实战:数字音频播放器开发指南
stm32·单片机·嵌入式硬件
终焉代码4 小时前
STL解析——list的使用
开发语言·c++
Chef_Chen4 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
DevangLic4 小时前
【 *p取出内容 &a得到地址】
c++
鑫鑫向栄4 小时前
[蓝桥杯]修改数组
数据结构·c++·算法·蓝桥杯·动态规划
鑫鑫向栄4 小时前
[蓝桥杯]带分数
数据结构·c++·算法·职场和发展·蓝桥杯