K210开发板(二)—点亮LED灯

  1. 一.实验准备
    1. 1.GPIO
    2. 2.K210的GPIO—FPIOA
  2. 二.实验步骤
    1. 1.配置
    2. 2.初始化
    3. 3.主体
  • 三.实验总结

  • 简介:
      本篇博客用于记录K210的学习和自己遇到的问题,主要内容为LED灯的交替闪烁。由于参考资料的教程比较齐全,本文会着重于讲述自己遇到的问题和解决方案


    参考资料:http://www.yahboom.com/study/K210-Developer-Kit
    提取码:moj1

    一.实验准备

    1.GPIO

      我个人理解是将芯片的的操作封装成函数,使微控制器成为微处理器

    好比你告诉家里的保姆说“去吧客厅的灯关上”,他就走过去按动灯的开关,然后灯就灭了。你下的这个指令的动作相当于调用了GPIO操作的函数,保姆去按开关这个动作相当于函数配置寄存器。

    2.K210的GPIO—FPIOA

      FPIOA (现场可编程 IO 阵列)允许用户将 255 个内部功能映射到芯片外围的 48 个自由 IO 上

    二.实验步骤

    1.配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //定义硬件引脚(见原理图)
    #define PIN_LED_0 (0)
    #define PIN_LED_1 (17)
    //定义软件GPIO口
    #define LED0_GPIONUM (0)
    #define LED1_GPIONUM (1)
    //将硬件引脚映射到软件GPIO功能
    #define FUNC_LED0 (FUNC_GPIO0 + LED0_GPIONUM)
    #define FUNC_LED1 (FUNC_GPIO0 + LED1_GPIONUM)

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

    2.初始化

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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);

    3.主体

    1
    2
    3
    sleep(1); //延时1s
    gpio_set_pin(LED0_GPIONUM, value); //设置引脚值
    gpio_set_pin(LED1_GPIONUM, value = !value);

    三.实验总结

    遇到问题:未能理解FUNC_GPIO0的作用
    解决方案:暂未解决


    结语:
      无



    转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 21009200039@stu.xidian.edu.cn

    💰

    ×

    Help us with donation