day 41 51中断系统以及定时器

server/2025/2/8 12:29:39/

1.中断

1.寄存器:具有固定地址值的内存空间,对于soc来说具有特殊的功能的变量。
2.中断:当cpu处理事件时,外界发生紧急请求,要求cpu暂停当前工作去处理这个紧急事件,处理完之后回到原来中断的地方,继续原来的工作。
3.中断源:产生中断请求的事件本身
4.中断向量表:中断函数的入口地址的数组(函数指针数组)

中断的流程

1.中断源发送中断请求(向kernel)
2.检查cpu是否响应中断,并检查中断请求是否被屏蔽;
3.检查中断优先级(中断嵌套)
4.保护现场
5.执行中断处理函数
6.恢复现场
在这里插入图片描述

代码流程

允许中断的初始化
中断处理函数

定时器

定时器遇到整形溢出(65536)时会产生一个中断信号
通过设置TH0和TH0给计数初始值,每次加一的时间是工作频率的倒数,可以算出加到溢出所需的时间来控制时间
为了防止寄存器短时间多次改变引起错乱,可以先改变临时变量再赋给寄存器。
不在作用域但是没销毁的变量不能直接访问,可以间接。


http://www.ppmy.cn/server/165952.html

相关文章

小白如何制作精致 PPT?免费 Office 插件来帮忙

微软 Office Plus 是由微软中国团队精心打造的免费 Word、Excel 和 PPT 模板素材网站。在这里,您可以轻松获取各类高质量的模板,以及一款微软官方 PPT 插件。这款插件能够将 Office Plus 的丰富模板直接内嵌到 PPT 中,极大地提升了制作演示文…

Scala语言的人工智能

Scala语言的人工智能探索 引言 在现代软件开发的领域中,人工智能(AI)正在以惊人的速度发展和扩展。无论是在自然语言处理、计算机视觉还是自动化决策系统,人工智能技术都在不断革新。而在众多编程语言中,Scala以其独…

Linux学习笔记17---UART 串口通信实验

不管是单片机开发还是嵌入式 Linux 开发,串口都是最常用到的外设。可以通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序。还有很多的模块,比如蓝牙、 GPS、 GPRS 等都使用的串口来与主控进行通信的,在嵌入式…

电脑运行黑屏是什么原因?原因及解决方法

电脑运行黑屏是指电脑在正常开机或使用过程中,突然出现屏幕变黑,无法显示任何内容的现象。这种现象可能会给用户带来很多不便,甚至造成数据丢失或硬件损坏。那么,电脑运行黑屏是什么原因呢?下面我们将分析几种可能的原…

Android 中实现 PDF 预览三种方式

目录 1. 使用第三方库 PdfRenderer(适用于 Android 5.0 及以上) 步骤:2. 使用第三方库 MuPDF步骤:3. 使用第三方库 PdfiumAndroid步骤: 1. 使用第三方库 PdfRenderer(适用于 Android 5.0 及以上&#xff09…

996引擎-怪物:Lua 刷怪+清怪+自动拾取

996引擎-怪物:Lua 刷怪+清怪+自动拾取 文件位置NPC脚本参考资料文件位置 文件位置服务端D:\996M2-lua\MirServer-lua\Mir200客户端D:\996M2-lua\996M2_debug\devNPC脚本 服务端\Mir200\Envir\Market_Def\test\test爆率-3.lua -- NPC入口函数 function main(player)-- 获取玩…

【dotnet】安全编码规范

本文将从代码安全、数据安全、身份安全、通信安全四个维度,总结15个关键设计原则,并附典型场景的解决方案与代码示例,助你规避90%的安全风险: 一、代码安全:构建安全防线 1. 输入验证:第一道屏障 漏洞场景…

C++字符串相关内容

字符串 字符串,本质上是一个接一个字符的一组字符。字母、数字、符号等。 const char* 字符串名 字符后面会有一个空终止符,为0。 字符串从指针的内存地址开始,然后继续下去,直到它碰到0,然后意识到字符串终止了。 …