LPC1768菜鸟学习之GPIO和外部中断

2024-02-16 07:08

本文主要是介绍LPC1768菜鸟学习之GPIO和外部中断,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LPC1768的P0口和P2口既能做输入输出,还可以配置为中断源。

现在P2.10作为按键,配置如下:

void BUTTON_init(void)

{

 LPC_GPIO2->FIODIR      &=~(1 << 10);    /* PORT2.10 definedas input       */

 LPC_GPIOINT->IO2IntEnF |=  (1<< 10);    /* enable falling edgeirq         */

 

 NVIC_EnableIRQ(EINT3_IRQn);             /* enable irq in nvic             */

}

void EINT3_IRQHandler()

{

 LPC_GPIOINT->IO2IntClr |= (1 << 10);     /* clear pending interrupt         */

    LED_ON;

Dealy(1000);

 LED_OFF;

}

EINT3和GPIO中断共用,所以按一下按键直接进入EINT3的中断服务程序里。

 

而lpc1768有4个外部中断输入,为P2.10~P2.13,同样取P2.10作为按键

void EINTInit( void )

{

 LPC_PINCON->PINSEL4 = 0x00100000;      /*set P2.10 as EINT0 and

                                                               P2.0~7GPIO output */

 LPC_GPIO2->FIODIR = 0x000000FF;    /*port 2, bit 0~7 only */

 LPC_GPIO2->FIOCLR = 0x000000FF;   /*turn off LEDs */

 

  LPC_SC->EXTMODE = EINT0_EDGE;             /* INT0 edge trigger */

 LPC_SC->EXTPOLAR = 0;                          /* INT0 is falling edge by default */

 

 NVIC_EnableIRQ(EINT0_IRQn);

 return( TRUE );

}

void EINT0_IRQHandler (void)

{

 LPC_SC->EXTINT = EINT0;          /* clear interrupt */   //EINT0==0x10

              LED_ON;

Dealy(1000);

 LED_OFF;

}

这篇关于LPC1768菜鸟学习之GPIO和外部中断的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/713854

相关文章

Django调用外部Python程序的完整项目实战

《Django调用外部Python程序的完整项目实战》Django是一个强大的PythonWeb框架,它的设计理念简洁优雅,:本文主要介绍Django调用外部Python程序的完整项目实战,文中通... 目录一、为什么 Django 需要调用外部 python 程序二、三种常见的调用方式方式 1:直接 im

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

《SpringBoot项目如何使用外部application.yml配置文件启动JAR包》文章介绍了SpringBoot项目通过指定外部application.yml配置文件启动JAR包的方法,包括... 目录Spring Boot项目中使用外部application.yml配置文件启动JAR包一、基本原理

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C#通过进程调用外部应用的实现示例

《C#通过进程调用外部应用的实现示例》本文主要介绍了C#通过进程调用外部应用的实现示例,以WINFORM应用程序为例,在C#应用程序中调用PYTHON程序,具有一定的参考价值,感兴趣的可以了解一下... 目录窗口程序类进程信息类 系统设置类 以WINFORM应用程序为例,在C#应用程序中调用python程序