1590|1

441

帖子

3

TA的资源

纯净的硅(高级)

楼主
 

【平头哥RVB2601开发板试用体验】 GPIO外部中断测试 [复制链接]

 

    在上篇GPIO驱动LED的基础上,测试下GPIO外部中断测试,通过LED灯的状态来查看是否进入中断。

 

    一、硬件部分

    1.1、使用开发板上的KEY1和KEY2按键来作为GPIO中断输入端。

    1.2、电路图部分

    电路上使用了,KEY1 -> PA11, KEY2 -> PA12。

     

    

    1.3、LED使用上篇的RGB LED灯。

 

    二、软件部分

    KEY2上升沿触发,KEY1下降沿触发中断。

    2.1、eint.c

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


#define GPIO_PA11_MASK       ( 1 << PA11 )
#define GPIO_PA12_MASK       ( 1 << PA12 )

static csi_gpio_pin_t pin_pa11;
static csi_gpio_pin_t pin_pa12;

static void gpio_pin_pa11_interrupt_handler(csi_gpio_pin_t *pin, void *arg)
{
	ledr_tog();
}
static void gpio_pin_pa12_interrupt_handler(csi_gpio_pin_t *pin, void *arg)
{
	ledg_tog();
}

void eint_init(void)
{	
	csi_gpio_pin_init(&pin_pa11, PA11);
	csi_gpio_pin_attach_callback(&pin_pa11, gpio_pin_pa11_interrupt_handler, NULL);
	csi_gpio_pin_mode(&pin_pa11, GPIO_MODE_PULLUP);
	csi_gpio_pin_dir(&pin_pa11, GPIO_DIRECTION_INPUT);
	csi_gpio_pin_irq_mode(&pin_pa11, GPIO_IRQ_MODE_FALLING_EDGE);
	csi_gpio_pin_irq_enable(&pin_pa11, true);
	
	csi_gpio_pin_init(&pin_pa12, PA12);
	csi_gpio_pin_attach_callback(&pin_pa12, gpio_pin_pa12_interrupt_handler, NULL);
	csi_gpio_pin_mode(&pin_pa12, GPIO_MODE_PULLUP);
	csi_gpio_pin_dir(&pin_pa12, GPIO_DIRECTION_INPUT);
	csi_gpio_pin_irq_mode(&pin_pa12, GPIO_IRQ_MODE_RISING_EDGE);
	csi_gpio_pin_irq_enable(&pin_pa12, true);
}

    2.2、eint.h

#define EINT_H

void eint_init(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"
#include "eint.h"

#define TAG "app"

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

    return 0;
}

    三、运行结果

   

最新回复

帖子有用     详情 回复 发表于 2022-3-31 23:06
点赞(1) 关注(1)
 
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

帖子有用

 

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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