1123|2

359

帖子

3

TA的资源

纯净的硅(高级)

 

【平头哥RVB2601开发板试用体验】 GPIO输出测试 [复制链接]

 

    搭建好开发环境后,先来测试下开发板的GPIO输出。

    一、硬件电路

    使用开发板上的LED灯来测试下GPIO的输出。

    硬件电路图

     001.png

002.png

    使用PA4,PA7,PA25端口来驱动LED灯。

 

    二、程序部分

    2.1、led.c

//led.c
#include "board_config.h"
#include "drv/gpio_pin.h"
#include <drv/pin.h>
#include <aos/aos.h>

csi_gpio_pin_t pin_ledr;
csi_gpio_pin_t pin_ledg;
csi_gpio_pin_t pin_ledb;

void led_init(void)
{
    csi_pin_set_mux(PA7, PIN_FUNC_GPIO); //led_r
	csi_pin_set_mux(PA25, PIN_FUNC_GPIO); //led_g
	csi_pin_set_mux(PA4, PIN_FUNC_GPIO); //led_b

	
	csi_gpio_pin_init(&pin_ledr, PA7);
    csi_gpio_pin_dir(&pin_ledr, GPIO_DIRECTION_OUTPUT);
	csi_gpio_pin_init(&pin_ledg, PA25);
    csi_gpio_pin_dir(&pin_ledg, GPIO_DIRECTION_OUTPUT);
	csi_gpio_pin_init(&pin_ledb, PA4);
    csi_gpio_pin_dir(&pin_ledb, GPIO_DIRECTION_OUTPUT);
	
	csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
}

void led_test(void)
{
	csi_gpio_pin_write(&pin_ledr, GPIO_PIN_LOW);
	csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
	aos_msleep(500);
	csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledg, GPIO_PIN_LOW);
	csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
	aos_msleep(500);
	csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledb, GPIO_PIN_LOW);
	aos_msleep(500);
	csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
	csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
	aos_msleep(500);
}

    2.2、led.h

#ifndef LED_H
#define LED_H

void led_init(void);
void led_test(void);

#endif

    2.3、main.c

/*
 * Copyright (C) 2019-2020 Alibaba Group Holding Limited
 */


#include <stdlib.h>
#include <string.h>
#include <aos/aos.h>
#include "aos/cli.h"
#include "main.h"
#include "app_init.h"
#include "oled.h"
#include "led.h"

#define TAG "app"

int main(void)
{
    board_yoc_init();
    LOGD(TAG, "%s\n", aos_get_app_version());
    oled_init();
	led_init();
    while (1) {
        LOGD(TAG, "Hello world! YoC");
        //aos_msleep(1000);
		led_test();
    }

    return 0;
}

    三、运行结果

    RBG LED灯轮询点亮。 001.gif

最新回复

下面准备测什么呢   详情 回复 发表于 2022-3-24 21:03
 
 
 

回复
举报

1565

帖子

0

TA的资源

五彩晶圆(初级)

 

下面准备测什么呢

点评

测试下外部中断 ^_^  详情 回复 发表于 2022-3-25 09:37
 
 
 

回复

359

帖子

3

TA的资源

纯净的硅(高级)

 

测试下外部中断 ^_^

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表