10天学会嵌入式技术之51单片机-day-4
第十二章 中断系统
中断系统是单片机用于处理外部紧急事件的一种机制。中断系统工作的大致流程如下
图所示:当 CPU 正在处理某项任务时,外部发生了某个紧急事件,此时 CPU 会暂停当前
的工作,转而去处理这个紧急事件,处理完之后,再回到原来被中断的位置,继续处理原
来的工作。
中断系统使单片机能够实时响应外部事件,提高了系统的灵活性和响应能力。
关于中断系统,我们先需要了解如下术语:
(1 )中断源
中断源是指能够引发中断的事件。
(2)中断标志位
中断标志位用于标识某个中断是否发生,每个中断源都有一个与之对应的中断标志位。
当某个中断发生时,相应的中断标位就会置为 1,当 CPU 检测到标志位时,就会处理相应的中断。当中断处理完毕后,中断标志位需要复位(置 0),以便接收下一次中断,有些中
断源的标志位,会在 CPU 处理完中断后,自动复位,而有些则需要开发者手动复位,在使
用中断时,需要注意查看手册说明。
(3)中断服务程序
中断服务程序指处理中断的逻辑,当某个中断标志位置 1 时,CPU 会自动执行相应的
中断服务程序。
(4)中断优先级
中断优先级是指在多个中断同时发生时,单片机响应中断的先后顺序,并且高优先级
的中断可以打断低优先级的中断。
12.2中断源
STC89C52RC 共有 8 个中断源,8 个中断源可分为 3 类,3 个类别分别是外部中断、定
时器中断、串口中断,下面简要介绍每种类型。
12.2.1外部中断
(4个:INT0,INT1,INT2,INT3)
外部中断是指由单片机外部的紧急事件触发的中断,通过向单片机的特定引脚发送特
定的信号触发。STC89C52RC 共提供了 4 个外部中断引脚,分别是 INT0,INT1,INT2,
INT3,如下图所示。
51 单片机的外部中断支持两种触发方式,分别是低电平触发和下降沿触发。
12.2.2 定时器中断
(3个:Timer0、Timer1、Timer2)
定时器中断是指由单片机内部的定时器触发的中断。
定时器是大多数单片机都具备的一个功能模块,用于实现定时任务。其用法是,设置
一个定时值,然后开始计时,待计时结束后,触发相应的定时器中断,开发者可以在中断
服务程序中编写定时任务的逻辑。
STC89C52RC 共有三个定时器,分别是 Timer0、Timer1、Timer2,每个定时器都有一
个相对应的中断。
12.2.3 串口中断
串口中断是由单片机串口触发的中断。
串口是单片机用于收发数据的重要接口之一,当单片机通过串口接收到数据或者发送
完数据后都会触发相应的中断。
STC89C52RC 的串口引脚为 TxD 和 RxD,其中 TxD 用于发送数据,RxD 用于接收数
据,如下图所示。
12.3 中断服务程序
中断服务程序是指用于处理中断的一段代码,当中断发生时,CPU 就会暂停当前程序
的执行,转而执行对应的中断服务程序,处理完中断后再恢复到原来的程序。
STC89C52RC 共有 8 个中断源,分为 4 个外部中断、3 个定时器中断和 1 个串口中断,
开发者可以为每个中断源声明相应的中断服务程序,中断服务程序的声明语法如下。
12.4 中断优先级
STC89C52RC 共有四个中断优先级,每个中断源都可以单独设置优先级。若多个中断
同时发生,优先级高的会被优先处理;若两个中断的优先级相同,则根据其中断号决定处
理顺序,中断号越小越优先。
除此之外,高优先级的中断还可以打断低优先级的中断,也就是说当 CPU 正在处理一
个中断时,又发生了另外一个优先级比它还高的中断,此时 CPU 会暂停原来中断的服务程
序,转而去处理这个高优先级的中断,处理完之后,再回到原来低优先级的中断服务程序。
这个机制叫做中断嵌套,STC89C52RC 支持两级中断嵌套。
第 13 章 外部中断——按键控制 LED 亮灭
13.1 需求描述
使用外部中断的方式,通过 SW3 按键控制 LED1 的亮灭
13.2 硬件设计
若想通过外部中断的方式检测按钮,必须将按钮接入 4 个外部中断引脚之一,如下图
所示,可以看到 SW3 可用于触发外部中断 0。
13.3 外部中断使用说明
STC89C52RC 的外部中断需要进行如下配置才可使用。
13.3.1 启用中断
默认情况,CPU 会屏蔽所有中断请求,也就是说 CPU 不会响应任何中断请求,要使用
中断,必须先进行启用。
每个中断源是否被启用,是由单片机内部的两个寄存器控制的,这两个寄存器分别是
IE(Interrupt Enable,中断允许)寄存器和 XICON(Auxiliary Interrupt Control,辅助中断
控制)寄存器。
两个寄存器的具体结构如下。
两个寄存器各有 8 位,每位的作用可参考下图(STC89C52 系列中断系统结构图)。
从上图可以看出,STC89C52 系列的中断系统具有两级控制,首先是 EA 总控制位,其
次是每个中断源各自的控制位。因此若需要启用某个中断,需要先将总控制位 EA 置位 1,
再将该中断自身的控制为置为 1。
13.3.2配置外部中断触发方式
STC89C52 系列的外部中断支持两种触发方式,分别是低电平触发和下降沿触发,4 个
外部中断各需要 1 个控制位用于设置触发方式,这 4 个控制位分布于如下两个寄存器中,
分别是 XICON(Auxiliary Interrupt Control,辅助中断控制)寄存器中、TCON(Timer 0
and 1 Control)寄存器,如下图所示。
4 个控制位的具体作用可参考下图(STC89C52 系列中断系统结构图)。
从上图可以看出 IT0~IT3 分别用于设置外部中断 0 到 3 的触发方式,且 0 表低电平触
发,1 表示下降沿触发。
13.3.3 配置中断优先级(可选)
STC89C52 系列的中断系统支持四个优先级,所以每个中断源的优先级都需要通过 2
个控制位进行配置,8 个中断源共需要 16 个控制位,这 16 个控制位分布在如下 3 个寄存器
中,分别是 IPH(Interrupt Priority High,中断优先级高位)寄存器,IP(Interrupt Priority
Low,中断优先级低位)寄存器,XICON(Auxiliary Interrupt Control,辅助中断控制)寄
存器。
三个寄存器的具体结构如下。
13.3.4 定义中断服务程序
外部中断 0 到外部中断 3 的中断号分别是:0、2、6、7,以外部中断 0 为例,其中断
服务程序应定义为
void INT0_Handler() interrupt 0
{
}
13.4 软件设计
13.4.1 实现思路
(1)启用外部中断 0
// 打开中断总开关
EA = 1;
// 打开外部中断 0 开关
EX0 = 1
(2)配置外部中断 0 的触发方式
当前案例选择下降沿触发更为合理,因为选择低电平触发会导致按键按下时,外部中
断一直被重复触发。
// 配置外部中断为下降沿触发
IT0 = 1;
(3)配置中断优先级
当前程序只有一个,优先级可省略不配。
(4)中断服务程序
完成上述配置后,需要根据需求定义中断服务程序,当前需求相对比较简单,中断服
务程序如下。
void INT0_Func() interrupt 0
{// 中断中打开 LED0LED0 = ~LED0;
}
13.4.2 完整代码
#include <STC89C5xRC.H> //包含 STC89C52 的头文件
#define LED0 P00
void Init_INT0()
{// 打开中断总开关EA = 1;// 打开外部中断 0 开关EX0 = 1;// 配置外部中断为下降沿触发IT0 = 1;
}
void main()
{Init_INT0();while (1);
}
/**
* @brief 中断函数中打开 LED0,代表当触发中断时,LED0 会打开。
* 根据我们之前的设置,当按下 SW3 时,P32 为低电平,此时 LED0 打开。
*
* interrupt 0 表示 0 号中断触发时执行该函数的逻辑
* 如果用 C 语言编程,中断查询次序就是中断号
*/
void INT0_Func() interrupt 0
{// 中断中打开 LED0LED0 = ~LED0;
}
相关文章:
10天学会嵌入式技术之51单片机-day-4
第十二章 中断系统 中断系统是单片机用于处理外部紧急事件的一种机制。中断系统工作的大致流程如下 图所示:当 CPU 正在处理某项任务时,外部发生了某个紧急事件,此时 CPU 会暂停当前 的工作,转而去处理这个紧急事件,处…...
spark—SQL3
连接方式 内嵌Hive: 使用时无需额外操作,但实际生产中很少使用。 外部Hive: 在虚拟机下载相关配置文件,在spark-shell中连接需将hive-site.xml拷贝到conf/目录并修改url、将MySQL驱动copy到jars/目录、把core-site.xml和hdfs-sit…...
CENTOS 7 安装VNC
一、VNC简介 VNC(Virtual Network Computing),为一种使用RFB协议的屏幕画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。 VNC与操作系统无关,因此可跨平台使用,例如可用…...
第42讲:走进智慧农业的“感知神经系统”——农田遥感 + 边缘计算的融合实践
目录 ✨一、为什么要融合遥感与边缘计算? 🧪二、典型应用场景案例 ✅ 案例 1:棉花田的智能水分监测系统 ✅ 案例 2:水稻纹枯病自动识别与预警系统 💻三、关键技术框架与实现思路 🚦 1. 系统架构流程图: 📦 2. 模型部署建议: 💡四、未来发展趋势展望 �…...
Dify忘记管理员密码,重置的问题
今天本地win10电脑,使用源码启动dify,忘记了管理员账号和密码,于是网上查找解决办法。 1.有的网上资料说是去数据库删除用户表,于是进入数据库: docker exec -it docker-db-1 psql -U postgres -d dify 找到postgre…...
C#—Lazy<T> 类型(延迟初始化/懒加载模式)
C# 的 Lazy<T> 类型 Lazy<T> 是 C# 中的一个类,用于实现延迟初始化(懒加载)模式。它提供了一种线程安全的方式来延迟创建大型或资源密集型对象,直到第一次实际需要时才进行初始化。 主要特点 延迟初始化:…...
unity打包安卓时的签名文件jks转换keystore
前言 unity打包安卓时需要的签名文件格式默认是keystore,而有时我们拿到的是jks格式的签名文件,就需要把jks格式文件转换成keystore格式文件。 其实在windows下也可以不转换,在选择签名文件的文件选择框时,把文件扩展名筛选项&a…...
Android audio_policy_configuration.xml加载流程
目录 一、audio_policy_configuration.xml文件被加载流程 1、AudioPolicyService 创建阶段 2、createAudioPolicyManager 实现 3、AudioPolicyManager 构造 4、配置文件解析 loadConfig 5、核心解析逻辑 PolicySerializer::deserialize 二、AudioPolicyConfig类解析 1、…...
AOSP Android14 Launcher3——远程窗口动画关键类SurfaceControl详解
在 Launcher3 执行涉及其他应用窗口(即“远程窗口”)的动画时,例如“点击桌面图标启动应用”或“从应用上滑回到桌面”的过渡动画,SurfaceControl 扮演着至关重要的角色。它是实现这些跨进程、高性能、精确定制动画的核心技术。 …...
iframe下系统访问跨域问题解决办法
问题描述:iframe下嵌入web页面,访问后端接口跨域,导致接口调不通。 产生原因:iframe下,web端访问后端接口时,会优先向后端发送请求方法为OPTIONS的预检测请求,该请求调用不通,导致真…...
Kafka 如何理解Kafka的高可用
一、Kafka高可用核心思想:备胎的自我修养 核心口诀:“别把鸡蛋放在一个篮子里,除非你他妈有100个篮子!” Kafka的高可用设计,本质上就是一场**“分布式备胎大战”**。它的核心逻辑是: “老子不信任任何单…...
11-DevOps-Jenkins Pipeline流水线作业
前面已经完成了,通过在Jenkins中创建自由风格的工程,在界面上的配置,完成了发布、构建的过程。 这种方式的缺点就是如果要在另一台机器上进行同样的配置,需要一项一项去填写,不方便迁移,操作比较麻烦。 解…...
C++学习之游戏服务器开发十一DOCKER的基本使用
目录 1.多实例部署方案 2.容器的概念 3.docker初识 4.docker仓库 5.docker镜像 6.docker容器 7.docker和虚拟机的区别 8.docker命令解释 9.dockerfile构建镜像 10.离线分发镜像 1.多实例部署方案 redis 命令( redis-cli XXXX ) set key value:…...
docker学习笔记2-最佳实践
一、在容器中启动mysql的最佳实践 (一)查找目录 1、mysql的配置文件路径 /etc/mysql/conf.d 2、mysql的数据目录 /var/lib/mysql 3、环境变量 4、端口 mysql的默认端口3306。 (二)启动命令 docker run -d -p 3306:3306 …...
【TeamFlow】4.2 Yew库详细介绍
Yew 是一个用于构建高效、交互式前端 Web 应用程序的现代 Rust 框架,它借鉴了 React 和 Elm 等框架的设计理念,同时充分利用 Rust 的语言特性。 核心特性 基于组件的架构 Yew 采用组件化开发模式,类似于 React: 组件是可重用的 UI 构建块 …...
第六章.java集合与泛型
文章目录 1.集合框架1. Collection 接口存储一组不唯一,无序的对象2. Set接口存储一组唯一,无序的对象3. Map接口存储一组键值对象,提供key到value的映射 2.封装3.练习题 1.集合框架 java集合框架提供了一套性能优良,使用方便的接口和类,它们位于java.util中 1. Collection 接…...
elastic/go-elasticsearch与olivere/elastic
在 Go 语言中,与 Elasticsearch 交互的客户端库有多种选择,其中 github.com/elastic/go-elasticsearch/v8 和 github.com/olivere/elastic/v7 是两个常用的库。这两个库的功能和用途有一些差异,以下是它们的详细对比: 1. github.c…...
MYSQL之基础认识(卸载安装登录, 基本概念)
一. 卸载安装和登录 卸载 MYSQL 1. 查看有无mysql服务正在运行: ps ajx | grep mysql 2. 查看到 mysql 的服务名称: systemctl list-units --typeservice | grep mysql 3. 关闭 mysql 服务 4. 卸载 dpkg -l | grep mysql | awk {print $2} | xargs sudo apt remove --purg…...
Sentinel源码—7.参数限流和注解的实现一
大纲 1.参数限流的原理和源码 2.SentinelResource注解的使用和实现 1.参数限流的原理和源码 (1)参数限流规则ParamFlowRule的配置Demo (2)ParamFlowSlot根据参数限流规则验证请求 (1)参数限流规则ParamFlowRule的配置Demo 一.参数限流的应用场景 二.参数限流规则的属性 …...
JAVA:利用 Apache Tika 提取文件内容的技术指南
1、简述 Apache Tika 是一个强大的工具,用于从各种文件中提取内容和元数据。📄Tika 支持解析文档、📸图像、🎵音频、🎥视频文件以及其他多种格式,非常适合构建🔍搜索引擎、📂内容管理系统和📊数据分析工具。 样例代码:https://gitee.com/lhdxhl/springboot-…...
SVM(支持向量机)
SVM(支持向量机) 原理 SVM的核心目标是找到一个最大化分类间隔的超平面,将不同类别的样本分隔开。其原理可分为三部分: 线性可分情况 通过硬间隔最大化确定超平面,确保所有样本正确分类且间隔最大间隔定义为超平面到最…...
Spark,hadoop的组成
(一)Hadoop的组成 对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。 在Hadoop3.X中,hadoop一共有三个组成部分&#…...
数据结构中的各种排序
排序之冒泡排序 原理:比较相邻的元素,将大的元素放右边,小的元素放左边。每一趟排的最后的元素一定是最大的元素,所有下一趟需要排列的元素可减少一个 public int[] bubbleSort(int[] attr) {for (int i 0; i < attr.length…...
Android 中实现 GIF 图片动画
在 Android 中,ImageView 从 Android 9.0(API 级别 28) 开始原生支持 GIF 动画,通过 AnimatedImageDrawable 类实现。在之前的版本中,ImageView 并不支持直接播放 GIF 动画,只能显示 GIF 的第一帧。 一、 …...
linux安装mysql数据库
1.判断系统是多少位的 file /sbin/init2.下载linux安装包 5.7.25.64位安装包链接:https://pan.baidu.com/s/13vFuRikwJaI96K0AmUQXzg提取码:ga7h其他版本安装 去官网下载:https://dev.mysql.com/downloads/mysql/3.创建mysql文件夹 mkdir /…...
基于SA模拟退火算法的车间调度优化matlab仿真,输出甘特图和优化收敛曲线
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于SA模拟退火算法的车间调度优化matlab仿真,输出甘特图和优化收敛曲线。输出指标包括最小平均流动时间,最大完工时间,最小间隙时间。 2…...
uniapp云打包针对谷歌视频图片权限的解决方案
谷歌在24年底推出把图片和视频细分为两个权限,uniapp使用uni.chooseImage云打包默认图片视频为一个权限,不符合谷歌要求会被下架 解决方法,在项目根目录下新建AndroidManifest.xml移除不必要的权限 <?xml version"1.0" encoding"utf…...
DSRAM介绍
DSRAM(双端口静态随机存储器)介绍 1. 基本概念 DSRAM(Dual-Port Static Random Access Memory)是一种双端口SRAM,支持两个独立的读写接口,允许两个设备(如CPU、DMA、FPGA)同时访问…...
【仿Mudou库one thread per loop式并发服务器实现】HTTP协议模块实现
HTTP协议模块实现 1. Util模块2. HttpRequest模块3. HttpResponse模块4. HttpContext模块5. HttpServer模块 1. Util模块 这个模块是一个工具模块,主要提供HTTP协议模块所用到的一些工具函数,比如url编解码,文件读写…等。 #include "s…...
教育行业网络安全:守护学校终端安全,筑牢教育行业网络安全防线!
教育行业面临的终端安全问题日益突出,主要源于教育信息化进程的加速、终端设备多样化以及网络环境的开放性。 以下是教育行业终端安全面临的主要挑战: 1、设备类型复杂化 问题:教育机构使用的终端设备包括PC、服务器等,操作系统…...
【网工第6版】第5章 网络互联②
目录 ■ IPV6 ▲ IPV6报文格式 ◎ IPV6扩展报头(RFC2460) ◎ IPv6相关协议 ▲ IPV6地址分类 ◎ IPv6地址基础 ◎ IPv6地址举例 ◎ IPv6地址分类 ◎ 特殊地址对比IPv4 vs IPv6 ▲ 过渡技术 本章重要程度:☆☆☆☆☆ ■ IPV6 与IPv4…...
ASP.NET Core 分层项目中EFCore的使用
文章目录 前言一、核心二、项目分层结构1)安装 NuGet 包Web 项目InfrastructureLibrary项目 2)领域模型和仓储接口 (Domain 层)3)基础设施层实现 (Infrastructure 层)4)应用层服务 (Application 层)5)Web API 配置6&am…...
.net core 中directory , directoryinfo ,file, fileinfo区别,联系,场景
一、类定义及核心功能 Directory类 类型:静态类 功能:提供目录操作的静态方法,包括创建、删除、移动目录,以及获取子目录或文件列表等。例如Directory.CreateDirectory()、Directory.GetFiles()。 适用场景&…...
jvm-获取方法签名的方法
在Java中,获取方法签名的方法可以通过以下几种方式实现,具体取决于你的需求和使用场景。以下是详细的介绍: 1. 使用反射 API Java 提供了 java.lang.reflect.Method 类来获取方法的相关信息,包括方法签名。 示例代码:…...
three.js中的instancedMesh类优化渲染多个同网格材质的模型
three.js小白的学习之路。 在上上一篇博客中,简单验证了一下three.js中的网格共享。写的时候就有一些想法,如果说某个场景中有一万棵树,这些树共享一个geometry和material,有没有好的办法将其进行一定程度上的渲染优化࿰…...
2025年一站式AI创作平台主要功能介绍及使用教程
在当今迅速发展的数字时代,人工智能(AI)已成为推动创新和提升工作效率的关键工具。今天给大家分享一个全面的一站式AIGC内容创作平台,对其主要功能及使用教程进行讲解,旨在帮助用户显著提升工作和学习效率。无论您需要…...
YOLO11改进,尺度动态损失函数Scale-based Dynamic Loss,减少标签不准确对损失函数稳定性的影响
在目标检测领域,标签噪声与尺度敏感问题始终是制约模型性能提升的"阿喀琉斯之踵"。2025年CVPR最佳论文提出的尺度动态损失函数(Scale-based Dynamic Loss, SDL),通过构建自适应损失调节机制,不仅实现了对YOLOv11检测精度的指数级提升,更重新定义了损失函数的设…...
<项目代码>YOLO小船识别<目标检测>
项目代码下载链接 YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN)࿰…...
我用deepseek做了一个提取压缩文件夹下pdf和word文件工具
由于最近需要把大量的压缩文件的pdf和word文件统一复制到一个文件夹中。 我们一般正常操作方式的是把一个压缩文件一个一个解压,然后在把一个的解压好的文件夹下文件复制到另外一个文件夹中。 这个也需太繁琐了,从以往统计的需要花费两个小时间&#x…...
单例模式 (Singleton Pattern)
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。 核心特点 唯一性:一个类只能有一个实例 全局访问:提供全局访问该实例的方式 延迟初始化:通常在第一次被请求时才创建实…...
01-初识前端
一、邂逅前端开发 1.1. 软件开发、软件开发体系 这儿放个图~ 1.2.完善的应用程序包括哪些? 服务器开发 iOS开发、Android开发 Web开发 桌面开发(windows,mac os) iOS、mac os(OC,swift)&am…...
【JavaWeb后端开发03】MySQL入门
文章目录 1. 前言1.1 引言1.2 相关概念 2. MySQL概述2.1 安装2.2 连接2.2.1 介绍2.2.2 企业使用方式(了解) 2.3 数据模型2.3.1 **关系型数据库(RDBMS)**2.3.2 数据模型 3. SQL语句3.1 DDL语句3.1.1 数据库操作3.1.1.1 查询数据库3.1.1.2 创建数据库3.1.1…...
使用纯前端技术html+css+js实现一个蔬果商城的前端模板!
当我们刚开始学习前端的时候,我们都会先学习一些基础的编程知识点。对于网站开发前端学习,我们就会学习 html css js 等基础的前端技术,我们学习了基础编程知识后,肯定是需要一些项目,或者一些练习题,巩固一…...
SAP系统生产跟踪报表入库数异常
生产跟踪报表入库数异常 交库21820,入库43588是不可能的 原因排查: 报表的入库数取值,是取移动类型321 (即系检验合格后过账到非限制使用)的数. 查凭证,101过账2次21807,321过账了2次21794,然后用102退1次21794.就是说这批物料重复交库了. 解决: 方案一:开发增强设…...
mac 本地 docker 部署 nacos
标题查看 docker 的 nacos 版本 查看可用的Nacos版本,以最新版为例. 指定版本 自己修改即可. 访问Nacos镜像库地址:https://hub.docker.com/r/nacos/nacos-server/tags?page1&orderinglast_updated 标题二、挂载目录配置步骤 标题创建本地目录 按用户要…...
cgroup threaded功能例子
一、背景 cgroup在如今的系统里基本都是默认打开的一个功能。对于cgroup的cpu子系统,默认的颗粒度是进程为维度进行cgroup的cpu及cpuset的控制。而对于一些复杂进程,可能的需求是进程里一些个别线程要绑定在X1-Xn这些cpu核上,而除了这些个别…...
Elasticsearch插件:IDEA中的Elasticsearch开发利器
Elasticsearch插件:IDEA中的Elasticsearch开发利器 一、插件概述 Elasticsearch插件是为IntelliJ IDEA设计的专业工具,它让开发者能在IDE内直接与Elasticsearch集群交互,提供了查询编写、索引管理、数据分析等全方位支持。 核心价值&#…...
electron从安装到启动再到打包全教程
目录 介绍 安装 修改npm包配置 执行安装命令 源代码 运行 打包 先安装git, 安装打包工具 导入打包工具 执行打包命令 总结 介绍 electron确实好用,但安装是真的要耗费半条命。每次安装都会遇到各种问题,然后解决了之后。后面就不需要安装了,但有时候比如电脑重装…...
【Linux】轻量级命令解释器minishell
Minishell 一、项目背景 在linux操作系统中,用户对操作系统进行的一系列操作都不能直接操作内核,而是通过shell间接对内核进行操作。 Shell 是操作系统中的一种程序,它为用户提供了一种与操作系统内核和计算机硬件进行交互的界面。用户可以通…...
KEIL报错解决方案:No Algorithm found for: 08001000H - 080012EBH?
改这里: Cortex JLink/JTrace Target Drive - Flash Download - Size: 配好你这款芯片应该用的空间大小...