龙芯1B:按键外部中断例程

导读:本篇文章讲解 龙芯1B:按键外部中断例程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录


前言

一、什么是外部中断?

1.外部中断:单片机实时地处理外部事件的一种内部机制。

二、外部中断程序开发步骤

1.步骤

2.函数介绍

GPIO中断API函数介绍:

​编辑

3.外部中断代码

总结


 

前言

up主的联系方式:

微信公众号:嵌入式up

大家好!大家点点关注,大家的关注才是我持续更新的动力!


一、什么是外部中断?

1.外部中断:单片机实时地处理外部事件的一种内部机制。

LS1B0200 处理器的中断可以分为软中断(软中断 0 和软中断 1)、外设中断(INT0,INT1, INT2 和 INT3 四个中断控制总线)、Mips 性能中断和 Mips 计数中断四类。INT0,INT1,INT2 和 INT3 四个中断控制总线连接到 CPU,其中 INT0 和 INT1 负责内部 64 个中断源,INT2 和 INT3 负责外部 61 个 GPIO 中断源。没有中断优先级,中断控制器结构如图 所示。

f3673c1a0f4c48ce86857a8e15ca55dd.png

 所有中断寄存器的位域排列顺序相同,一个中断源对应其中一位,LS1B0200 处理器的 中断控制器内外中断源位域排列顺序如表 5-1 所示。注意:没有 GPIO31 引脚,所以没有 GPIO31 中断源

龙芯中断控制器详细资料下载链接:

二、外部中断程序开发步骤

1.步骤

1.安装项目向导,新建项目工程

2.在建好的工程里的main.c文件中添加ls1b_gpio.h并调用gpio_enable函数初始化GPIO

3.调用ls1x_disable_gpio_interrupt()函数使能GPIO

4.调用ls1x_install_gpio_isr()函数配置中断

5.建立中断回调函数

6.调用ls1x_disable_gpio_interrupt()函数使能中断

2.函数介绍

GPIO中断API函数介绍:

f151e1541cba41a08ceaa40482f20486.png

附按键图:

1ee6f1187a7e47fbb79059948444fc7d.png

3.外部中断代码

#include <stdio.h>

#include "ls1b.h"
#include "mips.h"

//-------------------------------------------------------------------------------------------------
// BSP
//-------------------------------------------------------------------------------------------------

#include "bsp.h"
#include "ls1b_gpio.h"
#include "stdbool.h"
//-------------------------------------------------------------------------------------------------
// 主程序
//-------------------------------------------------------------------------------------------------
bool falg = false;

void gpio_interrput_isr(int vector, void *param)
{
    falg = !falg;
    if(falg) gpio_write(55, 0);
    else pio_write(55, 1);
}

int main(void)
{
    printk("\r\nmain() function.\r\n");
    gpio_enable(55,DIR_OUT);
    
    ls1x_disable_gpio_interrupt(0);
    ls1x_install_gpio_isr(0,INT_TRIG_EDGE_UP,gpio_interrput_isr,NULL);//上升沿触发 gpio 中断
    ls1x_enable_gpio_interrupt(0);
    /*
     * 裸机主循环
     */
    for (;;)
    {
    }
    
    return 0;
}

/*
 * @@ End
 */

总结

源码链接:(1条消息) 龙芯1B:中断使用例程-嵌入式文档类资源-CSDN文库

中断文档链接:(2条消息) 龙芯1B中断控制器详细资料-嵌入式文档类资源-CSDN文库

(2条消息) 龙芯1B:中断详细说明-嵌入式文档类资源-CSDN文库

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73685.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!