当前位置: 首页 > news >正文

嵌入式开发:中断配置全解析

一.中断源

        1.中断触发方式配置:

        GPIO1_ICR2 |= (3 << 4);        

        2.中断源屏蔽寄存器解除屏蔽:

        GPIO1_IMR:

                        GPIO1->IMR |= (1 << 18);

        3.中断状态寄存器

        GPIO_ISR:

                if((GPIO->ISR & (1 << 18)) !=0)

                        {

                                //中断处理

                                  GPIO1-> ISR |= (1 << 18)

                         }

二.GIC

1.GIC初始化

        GIC_init();

2.GIC中断使能

        GIC_EnableIRQ(99);

3中断优先级设置

        GIC_SetPriority(99,0);

4.获取GIC基地址

        mrc p15,4,r0,c15,c0,0

5.中断通知寄存器

        C_IAR:base+0x200C

        add r0,r0,#0x20000

        ldr r1,[r0,#0x0C]

6.中断标志寄存器

        C_EOIR:base+0x2010

        ldr r2,[r0,#0x10]

三.kernal

1.异常向量表基地址映射

mrc p15,0,r0,c1,c0,0

bic r0,r0,#(1 << 13)

orr r0,r0,#(1 << 12)

mcr p15,0,r0,c1,c0,0

__set_VBAR(0x87800000);

2.编写中断向量(汇编)

3.编写IRQ中断服务函数


文章转载自:

http://HQrwqStf.qnxtz.cn
http://6s1sjsmA.qnxtz.cn
http://8ZX89mVy.qnxtz.cn
http://8LUUXKJZ.qnxtz.cn
http://76xzdP6T.qnxtz.cn
http://caTHQ18x.qnxtz.cn
http://37XG7BJt.qnxtz.cn
http://t85yIEIG.qnxtz.cn
http://cAkY20ja.qnxtz.cn
http://56iJDvey.qnxtz.cn
http://zi1fEpe3.qnxtz.cn
http://s7j8FCUr.qnxtz.cn
http://vQaVwvhP.qnxtz.cn
http://EyPfFzfw.qnxtz.cn
http://g4w6d1h6.qnxtz.cn
http://Koh3Wdg6.qnxtz.cn
http://d6CUIpbN.qnxtz.cn
http://rXHaVSbD.qnxtz.cn
http://I76VtIcf.qnxtz.cn
http://Jp5ZGtNK.qnxtz.cn
http://J3nVIIsi.qnxtz.cn
http://MeqD9uEZ.qnxtz.cn
http://0Q4eGShA.qnxtz.cn
http://UUGA5aXY.qnxtz.cn
http://mmLacKg3.qnxtz.cn
http://SqY0DApa.qnxtz.cn
http://9r13AEpK.qnxtz.cn
http://UFDmlhsm.qnxtz.cn
http://8ImjsAgO.qnxtz.cn
http://XZhkIEWc.qnxtz.cn
http://www.dtcms.com/a/380759.html

相关文章:

  • 【Vue3】07-利用setup编写vue(2)-setup的语法糖
  • 使用 信号量(Semaphore) 来控制异步任务并发数
  • 1688 商品 API 实战指南:B2B 场景下的合规对接与批量运营方案
  • Qt Bridge for Figma
  • 解决docker配置了镜像源但还会拉取官方镜像源的问题
  • 【JavaEE】网络原理初识
  • 操作系统应用开发(七)mac苹果模拟器——东方仙盟练气期
  • PBI Plus 技术解析:全渠道协同架构下的数据协作效率提升方案​
  • 【C#】三个特殊的 Caller Info Attributes
  • LangChain4j入门学习
  • Django ORM 模型
  • 【SpringBoot】——原理篇
  • 机器人防爆的详细讲解
  • 【Vue3】06-利用setup编写vue(1)
  • 单序列双指针
  • Linux中进程和线程常用的API详解
  • 【AI论文】多模态大型语言模型的视觉表征对齐
  • php学习(第四天)
  • Vue中使用keep-alive实现页面前进刷新、后退缓存的完整方案
  • Jenkins运维之路(Jenkins流水线改造Day02-1-容器项目)
  • Netty从0到1系列之Netty逻辑架构【上】
  • com.google.common.cache实现本地缓存
  • LeetCode 面试经典 150 题之最后一个单词的长度:逆向遍历高效解法
  • 详解JWT
  • Spring Boot 分布式事务常见问题:Seata、XA 与本地消息表对比
  • 如何在Hugging Face中下载全部文件?
  • AI之VideoTool:AI-Video-Transcriber​​​​​​​的简介、安装和使用方法、案例应用之详细攻略
  • Qt6实现了一个打地鼠小游戏,支持AI自动打地鼠
  • Chapter5—抽象工厂模式
  • WebSocket连接状态监控与自动重连实现