首页 > 其他分享 >外部中断配置步骤

外部中断配置步骤

时间:2024-05-28 22:30:00浏览次数:8  
标签:使能 中断 步骤 PIE 外部 IO bit

(1)禁止CPU中断,初始化PIE中断控制寄存器和PIE中断向量表

IER = 0x0000;
IFR = 0x0000;
InitPieCtrl();
InitPieVectTable();

(2)使能IO口时钟,配置IO口为输入

(3)设置 IO 口与中断线的映射关系

GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 12;   //XINT1是GPIO12

(4)指定中断向量表中断服务函数地址

PieVectTable.XINT1 = &EXTI1_IRQn;

(5)使能外设对应的PIE中断

PieCtrlRegs.PIEIER1.bit.INTx4 = 1;  //使能PIE组1的INT4,比如外部中断1,它是由PIE组1的第4通道连接

(6)使能外部中断、设置外部中断触发方式

XIntruptRegs.XINT1CR.bit.ENABLE= 1;     //使能XINT1

XIntruptRegs.XINT1CR.bit.POLARITY = 0;  //下降沿触发中断

(7)使能CPU中断及全局中断

IER |= M_INT1;   //使能CPU中断1(INT1)

EINT;            //开全局中断

ERTM;            //当使用仿真器调试时可开启DEBUG中断

(8)编写外部中断服务函数

例如外部中断1的中断服务函数:

interrupt void EXTI1_IRQn(void)

{

...功能程序

PieCtrlRegs.PIEACK.bit.ACK1=1;  //清除PIEACK1,在中断执行结束前要清除相应的中断标志位,以等待下次中断的到来。
}

标签:使能,中断,步骤,PIE,外部,IO,bit
From: https://blog.csdn.net/2301_78976182/article/details/139279570

相关文章

  • 原子上下文、中断上下文
    原子上下文内核的一个基本原则就是:在中断或者说原子上下文中,内核不能访问用户空间,而且内核是不能睡眠的。也就是说在这种情况下,内核是不能调用有可能引起睡眠的任何函数。一般来讲原子上下文指的是在中断或软中断中,以及在持有自旋锁的时候。内核提供了四个宏来判断是否处于这几......
  • 原子上下文与中断上下文
    原子上下文与中断上下文目录原子上下文与中断上下文原子上下文(AtomicContext)中断上下文(InterruptContext)差异与联系原子上下文(AtomicContext)原子操作是一个在多线程环境中“不可分割”的操作,即该操作要么全部完成,要么完全不执行,不会出现只执行一部分的情况。原子操作在多线......
  • 深入探讨Function Calling:实现外部函数调用的工作原理
    引言FunctionCalling是一个允许大型语言模型(如GPT)在生成文本的过程中调用外部函数或服务的功能。FunctionCalling允许我们以JSON格式向LLM模型描述函数,并使用模型的固有推理能力来决定在生成响应之前是否调用该函数。模型本身不执行函数,而是生成包含函数名称和执行函数......
  • 发布ClickOnce应用程序步骤与URL传参应用
    目录一、ClickOnce应用程序发布配置二、URL传参应用 一、ClickOnce应用程序发布配置签名-为ClickOnce清单签名→取消勾选签名-为程序集签名→取消勾选安全性-启用ClickOnce安全设置→勾选安全性-这是完全可信的应用程序→勾选发布-发布文件夹位置......
  • 准备电赛——CCSMSP430F5529标准库——定时器定时多少秒以及定时中断的写法
    中断向量TIMERx_A0_VECTOR是CCR0的中断向量    (第一个引脚)TIMERx_A1_VECTOR是TAIV的中断向量#defineTIMER2_A1_VECTOR(43*1u)/*0xFFD6Timer2_A5CC1-4,TA*/#defineTIMER2_A0_VECTOR(44*1u)......
  • 如何成为一名黑客?小白必学的12个基本步骤
    如何成为一名黑客?小白必学的12个基本步骤【黑客进阶资源资料包】黑客攻防是一个极具魅力的技术领域,但成为一名黑客毫无疑问也并不容易。你必须拥有对新技术的好奇心和积极的学习态度,具备很深的计算机系统、编程语言和操作系统知识,并乐意不断地去学习和进步。如果你想成为......
  • 如何免费使用GPT-4o?如何升级GPT4.0 Turbo?(内附详细步骤教程)
    01GPT-4o是什么?5月中旬,OpenAI发布了惊艳的GPT-4o。经过体验,我深感其强大,中文能力尤为突出,速度也远超目前的GPT-4。GPT-4o深夜发布!Plus免费可用!|OpenAI发布GPT-4o一夜创历史,超越所有AI语音助手!!早在5月11日,Sam在推文中透露:OpenAI并没有推出GPT-5或新的搜索......
  • 使用nodejs安装并使用vue操作步骤
    1.下载安装nodejs官网下载nodejs并安装,我这边选择Windows的20版本下载地址:https://nodejs.org/en/download/prebuilt-installer安装完成后进入cmd窗口,使用node-v命令检查是否安装成功 如上图所示安装成功 2.配置npm的全局安装路径(npm,nodepakaagemanager,是nodejs的软......
  • 帝国CMS:备份数据中断无提示并显示空白
    为了保证网站的安全性,都会定期进行数据备份,但是突然发现,点击后台的备份,前半段备份流程正常,后面突然就白屏,没有任何提示:前往备份目录检查,发现数据量偏少:时间往后的,本应数据更多,现在少于之前。  查找相关问题提示:帝国CMS后台备份空白解决方法前言今天精准像素......
  • 电机转速计算(基于码盘和IO外部中断)
    目录概述1硬件介绍1.1整体硬件结构1.2模块功能介绍2测速框架介绍2.1测速原理2.2软件框架结构3使用STM32Cube配置Project3.1准备环境3.2 配置参数3.3 生成Project4功能实现4.1电机控制代码4.2测试代码4.3速度计算5测试5.1编写测试代码5.2运......