嵌入式面试八股文(六)·ROM和RAM的区别、GPIO的八种工作模式、串行通讯和并行通讯的区别、同步串行和异步串行的区别

目录

1.  ROM和RAM的区别

2.  GPIO的八种工作模式

3.  串行通讯和并行通讯的区别

3.1  串行通讯

3.2  并行通讯

3.3  对比

4.  同步串行和异步串行的区别

4.1  时钟信号

4.2  数据传输效率

4.3  应用场景

4.4  硬件复杂性


1.  ROM和RAM的区别

ROM(Read-Only Memory)只读存储器是一种只能读出事先存储数据的固态存储器。ROM 的特点是在数据存储后,数据不可以被修改,即只能读取数据,不能写入。ROM 在断电后仍然可以保存数据,因此常用于存储固定的系统信息或程序,例如操作系统或预设的应用程序等。

主要特点:

永久性:ROM中的数据在断电时不会丢失,因此被称为非易失性存储器。
只读性:ROM的内容只能被读取,无法直接修改。它通常在制造过程中被预先写入或烧录,供计算机系统在启动时使用。


RAM(Random Access Memory)随机存取存储器是一种可以随机读写数据的存储器。RAM 的特点是数据可以被随机读取和写入,但只有在电源存在的情况下可以保持数据的完整性。RAM 主要用于存储运行时使用的数据和缓存,例如操作系统的临时数据或应用程序的缓存数据等。

主要特点:

临时性:RAM存储的数据在断电时会丢失,因此称为易失性存储器。
可读写:RAM可以被快速读取和写入,它的存储单元可以根据需要来读取和修改数据。
容量和速度:RAM的容量可以从几兆字节(MB)到数百GB不等,速度非常快,可以通过高速总线迅速访问数据。


        ROM 常用于存储固定的系统信息或程序,例如操作系统或预设的应用程序等。

        而 RAM 则主要用于存储运行时使用的数据和缓存,例如操作系统运行时的临时数据或应用程序的缓存数据等。

2.  GPIO的八种工作模式

浮空输入(GPIO_Mode_In_FLOATING):该模式下,GPIO口不连接任何功能,处于浮空状态,可以用于读取外部的开关状态或传感器信号。

上拉输入(GPIO_Mode_IPU):该模式下,GPIO口通过上拉电阻连接到正电源,可以用于读取外部的开关状态或传感器信号。

下拉输入(GPIO_Mode_IPD):该模式下,GPIO口通过下拉电阻连接到地电源,可以用于读取外部的开关状态或传感器信号。

模拟输入(GPIO_Mode_AIN):该模式下,GPIO口可以作为一个模拟输入口使用,通常用于读取模拟信号,例如温度、湿度等传感器信号。

开漏输出(GPIO_Mode_Out_OD):该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑,并且可以实现电平的转换。

复用开漏输出(GPIO_Mode_AF_OD):该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑和电平转换的同时,还可以作为其他外设的扩展功能使用。

推挽输出(GPIO_Mode_Out_PP):该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑和电平转换的同时,还可以作为其他外设的扩展功能使用。

复用推挽输出(GPIO_Mode_AF_PP):该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑和电平转换的同时,还可以作为其他外设的扩展功能使用。

3.  串行通讯和并行通讯的区别

3.1  串行通讯

        数据逐位传输,传输线少,长距离传输时成本低,但数据的传输控制较复杂。按照实现数据同步的方式,可以分为同步串行异步串行两种。

        成本较低,布线简单,主要适合长距离传输和简单的点对点连接。常用于计算机与外部设备(如串口通信)之间的通讯。

3.2  并行通讯

        数据位同时通过多条数据线同时传输,传输速度较快,通常需要多条数据线,因此布线复杂,成本较高。

        因为多个数据位同时传输,所以会受到信号完整性和时钟同步的限制。

        适合短距离和需要高数据传输速率的应用,常见于计算机内部(如 CPU 与内存之间的通信)。

3.3  对比

特性串行通信并行通讯
通讯距离较远较近
抗干扰能力较强较弱
传输速率较慢较快
成本较低较高

4.  同步串行和异步串行的区别

4.1  时钟信号

同步串行:使用共享的时钟信号来同步数据的发送和接收。发送和接收设备在同一时刻对数据位进行采样。

异步串行:不使用共享的时钟信号。数据位的发送和接收通过起始位和停止位来界定,设备在发送数据时自行控制时序。

4.2  数据传输效率

同步串行:通常具有更高的传输效率,因为数据可以连续传输,没有额外的起始位和停止位。

异步串行:由于需要起始位和停止位,传输效率稍低,但更易于实现和控制。

4.3  应用场景

同步串行:常用于高速数据传输和短距离通信,如 SPI 和 I2C 接口。

异步串行:常用于较简单的串行通信场景,如 UART,适合长距离和低速传输。

4.4  硬件复杂性

同步串行:通常需要额外的硬件支持来生成和管理时钟信号。

异步串行:硬件设计较简单,易于实现,适合资源有限的应用。

千题千解·嵌入式工程师八股文详解_时光の尘的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/913235.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

批量缓存模版

批量缓存模版 缓存通常有两种使用方式,一种是Cache-Aside,一种是cache-through。也就是旁路缓存和缓存即数据源。 一般一种用于读,另一种用于读写。参考后台服务架构高性能设计之道。 最典型的Cache-Aside的样例: //读操作 da…

Vue3学习笔记(上)

Vue3学习笔记(上) Vue3的优势: 更容易维护: 组合式API更好的TypeScript支持 更快的速度: 重写diff算法模板编译优化更高效的组件初始化 更小的体积: 良好的TreeShaking按需引入 更优的数据响应式&#xf…

SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记

这是一篇港科大学生在google research 实习期间发在ECCV2024的语义引导生成式修复的文章,港科大陈启峰也挂了名字。从首页图看效果确实很惊艳,尤其是第三行能用文本调控修复结果牌上的字。不过看起来更倾向于生成,对原图内容并不是很复原&…

Knowledge Graph-Enhanced Large Language Models via Path Selection

研究背景 研究问题:这篇文章要解决的问题是大型语言模型(LLMs)在生成输出时存在的事实不准确性,即所谓的幻觉问题。尽管LLMs在各种实际应用中表现出色,但当遇到超出训练语料库范围的新知识时,它们通常会生…

常见计算机网络知识整理(未完,整理中。。。)

TCP和UDP区别 TCP是面向连接的协议,发送数据前要先建立连接;UDP是无连接的协议,发送数据前不需要建立连接,是没有可靠性; TCP只支持点对点通信,UDP支持一对一、一对多、多对一、多对多; TCP是…

HashMap(深入源码追踪)

一篇让你搞懂HashMap的几个最重要的知识点,往源码跟踪可以让我们很轻松应对所谓的一些八股面试题. 一. 属性解释 先来解释HashMap中重要的常量属性值 DEFAULT_INITIAL_CAPACITY : 默认初始化容量,也就是如果不指定初始化的Map存储容量大小,默认生成一个存储16个空间的Map集合…

MySQL中的事务与锁

目录 事务 InnoDB 和 ACID 模型 原⼦性的实现 持久性的实现 ​隔离性的实现 锁 隔离级别 ​多版本控制(MVCC) 事务 1.什么是事务? 事务是把⼀组SQL语句打包成为⼀个整体,在这组SQL的执⾏过程中,要么全部成功,要么全部失败&#…

C#开发基础:WPF和WinForms关于句柄使用的区别

1、前言 在 Windows 应用程序开发中,WPF(Windows Presentation Foundation)和 WinForms(Windows Forms)是两种常见的用户界面(UI)框架。它们各自有不同的架构和处理方式,其中一个显…

基于.NET开源、功能强大且灵活的工作流引擎框架

前言 工作流引擎框架在需要自动化处理复杂业务流程、提高工作效率和确保流程顺畅执行的场景中得到了广泛应用。今天大姚给大家推荐一款基于.NET开源、功能强大且灵活的工作流引擎框架:elsa-core。 框架介绍 elsa-core是一个.NET开源、免费(MIT License…

.NET6中WPF项目添加System.Windows.Forms引用

.NET6中WPF项目添加System.Windows.Forms引用 .NET6的WPF自定义控件默认是不支持System.Windows.Forms引用的,需要添加这个引用方法如下: 1. 在项目浏览器中找到项目右击,选择编辑项目文件(Edit Project File)。 …

16.UE5拉怪机制,怪物攻击玩家,伤害源,修复原视频中的BUG

2-18 拉怪机制,怪物攻击玩家、伤害源、黑板_哔哩哔哩_bilibili 目录 1.实行行为树实现拉怪机制 1.1行为树黑板 1.2获取施加伤害对象(伤害源) 2.修复原视频中,第二次攻击怪物后,怪物卡在原地不动的BUG 3.怪物攻击玩…

<项目代码>YOLOv8 草莓成熟识别<目标检测>

YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…

Vue全栈开发旅游网项目(9)-用户登录/注册及主页页面开发

1.用户登录页面开发 1.查询vant组件 2.实现组件模板部分 3.模型层准备 4.数据上传 1.1 创建版权声明组件Copyright 新建文件&#xff1a;src\components\common\Copyright.vue <template><!-- 版权声明 --><div class"copyright">copyright xx…

后台管理系统窗体程序:文章管理 > 文章列表

目录 文章列表的的功能介绍&#xff1a; 1、进入页面 2、页面内的各种功能设计 &#xff08;1&#xff09;文章表格 &#xff08;2&#xff09;删除按钮 &#xff08;3&#xff09;编辑按钮 &#xff08;4&#xff09;发表文章按钮 &#xff08;5&#xff09;所有分类下拉框 &a…

【万字详解】如何在微信小程序的 Taro 框架中设置静态图片 assets/image 的 Base64 转换上限值

设置方法 mini 中提供了 imageUrlLoaderOption 和 postcss.url 。 其中&#xff1a; config.limit 和 imageUrlLoaderOption.limit 服务于 Taro 的 MiniWebpackModule.js &#xff0c; 值的写法要 &#xff08;&#xff09;KB * 1024。 config.maxSize 服务于 postcss-url 的…

基于STM32通过TM1637驱动4位数码管详细解析(可直接移植使用)

目录 1. 单位数码管概述 2. 对应编码 2.1 共阳数码管 2.2 共阴数码管 3. TM1637驱动数码管 3.1 工作原理 3.1.1 读键扫数据 3.1.2 显示器寄存器地址和显示模式 3.2 时序 3.2.1 指令数据传输过程&#xff08;读案件数据时序&#xff09; 3.2.2 写SRAM数据…

数字信号处理Python示例(11)生成非平稳正弦信号

文章目录 前言一、生成非平稳正弦信号的实验设计二、生成非平稳正弦信号的Python代码三、仿真结果及分析写在后面的话 前言 本文继续给出非平稳信号的Python示例&#xff0c;所给出的示例是非平稳正弦信号&#xff0c;在介绍了实验设计之后给出Python代码&#xff0c;最后给出…

Linux 系统结构

Linux系统一般有4个主要部分&#xff1a;内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构&#xff0c;它们使得用户可以运行程序、管理文件并使用系统。 1. linux内核 内核是操作系统的核心&#xff0c;具有很多最基本功能&#xff0c;它…

网络安全之SQL初步注入

一.字符型 平台使用pikachu $name$_GET[name]; ​ $query"select id,email from member where username$name"; 用户输入的数据会被替换到SQL语句中的$name位置 查询1的时候&#xff0c;会展示username1的用户数据&#xff0c;可以测试是否有注入点&#xff08;闭…

【IEEE/EI会议】第八届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2025)

会议通知 会议时间&#xff1a;2025年4月25-27日 会议地点&#xff1a;中国南京 会议官网&#xff1a;www.aemcse.org 会议简介 第八届先进电子材料、计算机与软件工程国际学术会议&#xff08;AEMCSE 2025&#xff09;由南京信息工程大学主办&#xff0c;将于2025年4月25日…