ARM单片机题库

第一章

  1. 描述图灵机理论模型的基本思想和构造。
  2. 冯.诺伊曼架构模型中,完整的计算机系统包含哪几部分?
  3. 冯诺伊曼架构和哈佛架构有什么区别?
  4. STM32采用了ARM的哪种内核?该内核具有什么特点?
  5. 嵌入式系统的开发过程包括哪些阶段?简述各个的任务。

第二章

  1. Cortex-M3内核有哪几类总线?
  2. Cortex-M3预定义的存储器空间分为哪几个部分?
  3. Cortex-M3的工作模式和工作等级有哪些?有哪几种配合?
  4. 什么是中断?描述中断处理的过程。

第三章

  1. STM32最小系统由哪些部分组成?
  2. STM32的低功耗模式有哪些?各模式的区别是什么?

第五章

  1. GPIO的输入、输出的模式有哪些?各模式有哪些特点?
  2. GPIO的初始化需要配置哪些参数,各参数都有哪些取值?
  3. IO端口的重映射的含义是什么?
  4. STM32外部中断/事件控制器能检测多少个事件/中断?控制器的主要特征有哪些?外部中的触发方式有哪些?
  5. 用1个按键控制LED灯,共4个LED灯,按键使用外部中断,按键按1次为模式1,按2次为模式2按键3次为模式1,按4次为模式2,依次循环,模式1中4个LED灯同步闪烁,模式2中4个LED构成流水灯。

第六章

  1. STM32F103x有哪几类定时器?各个类别之间的区别是什么?各类包含的计数器的编号有哪些?
  2. 通用定时器的计数模式有哪些?
  3. 输入捕获和输出比较模式的功能是什么?

第七章

  1. 常用的ADC有哪些类型?各个类型的特点是什么?各类的应用场景有哪些?
  2. ADC的主要技术指标有哪些?各自的含义是什么?
  3. STM32的ADC属于哪一类?其主要特征是什么?
  4. STM32的ADC有多少个通道?可测量的信号有哪些?
  5. STM32的ADC的规则组和注入组有什么区别?
  6. STM32的ADC有哪几种采样时间?采样时间和转换时间的关系是什么?

第九章

  1. STM32的USART是串行还是并行传输?有哪些引脚?S、A分别表示什么含义?
  2. USART的收发模块包含哪几个部分?
  3. USART初始化时配置的参数有哪些?
  4. STM32的SPI是串行还是并行传输?有哪些引脚?
  5. SPI的主要特点是什么?SPI总线的工作方式有哪些?
  6. SPI初始化时配置的参数有哪些?
  7. STM32的I2C是串行还是并行传输?有哪些引脚?
  8. 12C初始化时配置的参数有哪些?
  9. I2C有哪几个工作模式?
  10. I2C通信的流程和时序是怎样的?

参考答案:

第一章

  1. 图灵机理论模型的基本思想和构造:
    • 基本思想:图灵机是一种抽象的计算机理论模型,用来模拟人类用纸笔进行数学运算的过程。图灵机的概念包括一条无限长的纸带,纸带上分成连续的格子,每个格子上可以写有一个符号(包括空格)。还有一个头,可以读写符号,并按规则左右移动。
    • 构造:图灵机由五部分组成:一组状态、一组输入符号、一组纸带上的符号(包括空格符号)、一套转移规则(函数),和一个起始状态。纸带是图灵机的存储媒介,头用来读写符号并根据转移规则移动。
  2. 冯·诺依曼架构模型中,完整的计算机系统包含的部分:
    • 冯·诺依曼架构是现代计算机设计的基础,包括以下五部分:存储器、运算器、控制器、输入设备和输出设备。存储器用于存储程序和数据,运算器进行数据处理,控制器控制程序的执行顺序,输入设备和输出设备分别用于数据的输入和输出。
  3. 冯诺依曼架构和哈佛架构的区别:
    • 主要区别在于数据和指令的存储及访问方式。在冯·诺依曼架构中,程序指令和数据使用同一存储系统,共享同一个总线系统。而在哈佛架构中,指令和数据存储在物理上分开,使用不同的存储器和总线,这允许同时访问指令和数据,提高了处理速度。
  4. STM32采用了ARM的哪种内核? 该内核具有什么特点?:
    • STM32系列微控制器通常采用的是ARM的Cortex-M系列内核,例如STM32F103系列使用Cortex-M3内核。这些内核具有高性能、低功耗的特点,支持高效的实时处理。Cortex-M3内核具有高性能的中断管理,支持大量的并行数据处理和高效的信号处理。
  5. 嵌入式系统的开发过程包括哪些阶段? 简述各个阶段的任务:
    • 嵌入式系统的开发过程通常包括以下阶段:
      1. 需求分析:明确功能性需求、性能性需求、可靠性需求和成本限制。
      2. 架构和概要设计:包括系统层次、剖面或模块的划分,系统软硬件交互界面的布局,硬件和元器件的选择,软件方案的选择,以及系统成本和性能的平衡。
      3. 详细设计和开发:具体实施硬件开发和软件开发。
      4. 测试反馈:每个环节都需要进行测试和反馈,以减少出现重大问题或故障的可能性。

第二章

  1. Cortex-M3内核的总线类型
    • Cortex-M3内核采用哈佛架构,因此它具有两条主要的总线:
      • I-Code 指令总线:用于指令访问。
      • D-Code 数据总线:用于数据访问。
      • 系统总线:用于内从和外设,即SRAM、片上外设、片外RAM、片外扩展设备以及系统级存储区。。
      • 外设总线
  2. Cortex-M3预定义的存储器空间分为以下几个部分
    • 代码区:用于存放程序代码。
    • 片上SRAM区:内部SRAM存储区,通常用于存放临时数据。
    • 片上外设
    • 片外RAM区:用于连接外部RAM设备。
    • 片外外设:用于连接外部设备,如传感器或其他外围设备。
    • 内部私有外设总线
    • 外部私有外设总线
    • 系统控制空间:包含了处理器的控制和状态寄存器。
  3. Cortex-M3的工作模式和工作等级
    • Cortex-M3主要有两种工作模式:
      • 处理器模式:包括Thread模式(线程模式)和Handler模式(处理器模式)。
      • 特权级别:分为特权级和用户级。
    • 这些模式和特权级别可以根据需要进行组合,以适应不同的操作和安全要求,除了用户级+handler模式。
  4. 中断的定义及处理过程
    • 中断定义:中断是一种机制,允许外部或内部事件打断处理器的正常执行流程,并迅速响应这些事件。
    • 中断处理过程
      • 当中断发生时,处理器当前的状态被保存。
      • 接着,处理器跳转到与该中断相关联的中断服务例程(ISR)。
      • 在ISR执行完毕后,处理器状态被恢复,继续执行中断之前的操作。

第三章

习题1: STM32最小系统由哪些部分组成?

STM32最小系统,也称为嵌入式核心控制模块,主要由以下部分组成:

  1. 电源:为整个系统提供所需的电能。
  2. 时钟:提供系统运行所需的时钟信号。
  3. 复位电路:用于初始化系统,确保系统从已知状态开始运行。
  4. 存储系统:包括必要的存储单元,如Flash存储和RAM。
  5. 调试系统:用于程序的下载和调试,通常包括JTAG接口等。

习题2: STM32的低功耗模式有哪些? 各模式的区别是什么?

STM32具有三种低功耗模式,各自特点如下:

  1. 休眠模式(Sleep Mode)
    • CPU停止工作,所有外设继续运行。
    • 在中断或事件发生时可唤醒CPU。
    • 1.8V区域的调压器保持工作状态。
  2. 停止模式(Stop Mode)
    • 旨在以最小的功耗保持SRAM和寄存器内容。
    • 1.8V区域的时钟停止工作,PLL、HSI和HSE的RC振荡器被禁用。
    • 可由外部中断源、PVD输出、RTC闹钟或USB唤醒信号退出此模式。
  3. 待机模式(Standby Mode)
    • 追求最小的功耗,内部调压器关闭,1.8V区域断电。
    • 除备份寄存器和待机电路外,SRAM和寄存器内容会丢失。
    • RTC、IWDG和相关时钟源不会停止。
    • 可由外部复位、IWDG复位、WKUP引脚的上升沿或RTC闹钟到时退出此模式。

第五章

  1. GPIO的输入、输出的模式有哪些?各模式有哪些特点?
    • 输入模式:
      1. 浮空输入(GPIO_Mode_IN_FLOATING):输入端无确定电平,状态由外部输入决定。
      2. 上拉输入(GPIO_Mode_IPU):输入端默认高电平,可读取外部低电平。
      3. 下拉输入(GPIO_Mode_IPD):输入端默认低电平,可读取外部高电平。
      4. 模拟输入(GPIO_Mode_AIN):用于ADC采集,不经过施密特触发器。
    • 输出模式:
      1. 开漏输出(GPIO_Mode_Out_OD):只有N-MOS管工作,适合电流型驱动。
      2. 推挽输出(GPIO_Mode_Out_PP):N-MOS和P-MOS管都工作,能输出高低电平。
      3. 复用开漏输出(GPIO_Mode_AF_OD):GPIO复用为其他外设,输出取决于外设。
      4. 复用推挽输出(GPIO_Mode_AF_PP):类似推挽输出,但用于复用功能。
  2. GPIO的初始化需要配置哪些参数,各参数都有哪些取值?
    • 配置参数:
      1. 引脚号(GPIO_Pin):指定具体的GPIO引脚。
      2. 输出速度(GPIO_Speed):2MHz、10MHz、50MHz。
      3. 模式(GPIO_Mode):输入、输出、复用输入、复用输出等。
    • 取值范围:根据具体硬件和需求选择合适的引脚号、速度和模式。
  3. IO端口的重映射的含义是什么?
    • 重映射是指将某些复用功能从其默认引脚映射到其他引脚上。这允许在不同器件封装或设计需求下,优化IO资源的使用。
  4. STM32外部中断/事件控制器能检测多少个事件/中断? 控制器的主要特征有哪些? 外部中的触发方式有哪些?
    • STM32的外部中断/事件控制器可以检测19个事件/中断。
    • 主要特征:
      1. 每个中断/事件都有独立的触发和屏蔽。
      2. 支持上升沿、下降沿或双边沿触发。
      3. 可屏蔽中断通道和可编程优先级。
    • 触发方式:上升沿、下降沿、双边沿触发。
  5. 用1个按键控制LED灯,共4个LED灯,按键使用外部中断,按键按1次为模式1,按2次为模式2按键3次为模式1,按4次为模式2,依次循环,模式1中4个LED灯同步闪烁,模式2中4个LED构成流水灯。
    • 实现思路:
      1. 使用外部中断读取按键输入,记录按键次数。
      2. 设定两种模式:模式1(同步闪烁),模式2(流水灯效果)。
      3. 根据按键次数切换模式,1次和3次为模式1,2次和4次为模式2。
      4. 在模式1下,所有LED同时闪烁。在模式2下,LED依次点亮形成流水灯效果。
      5. 使用定时器控制LED的点亮和熄灭,以实现闪烁和流水灯效果。

第六章

  1. STM32F103x的定时器类型及其区别:
    • 高级定时器: 包括TIM1和TIM8,特点是能产生三对PWM互补输出,常用于电动机控制。它们具备多种功能,如输入捕获、输出比较、PWM生成、死区时间可编程的互补输出等。
    • 通用定时器: 包括TIM2至TIM5,这些定时器位于低速的APB1总线上,具备输入捕获、输出比较、PWM生成等功能。
    • 基本定时器: 包括TIM6和TIM7,主要用于产生DAC触发信号,其时钟由APB1输出产生。
    • 看门狗定时器
    • 系统嘀嗒定时器
  2. 通用定时器的计数模式:
    • 向上计数模式: 计数器从0计数到设定值,然后重新从0开始计数并触发溢出事件。
    • 向下计数模式: 计数器从设定值开始向下计数到0,然后重新从设定值向下计数,并触发溢出事件。
    • 中央对齐模式(向上/向下计数): 计数器从0计数到设定值-1,触发溢出事件,然后向下计数到1,触发下溢事件,再从0重新开始计数。
  3. 输入捕获和输出比较模式的功能:
    • 输入捕获模式: 在此模式下,当检测到ICx信号上的边沿后,计数器的当前值被锁存到捕获/比较寄存器中。此模式用于测量输入信号的周期和频率。
    • 输出比较模式: 此模式用于控制输出波形或指示特定时间段的结束。当计数器值与捕获/比较寄存器的内容相同时,根据预设的模式,输出引脚可以改变状态或产生中断。

第七章

1. 常用的ADC类型及特点与应用场景

  • 积分型ADC
    • 特点:使用积分器将输入电压转换成数字表示,具有较长的积分时间和较高的分辨率,但速度较慢。
    • 应用场景:适用于需要高精度测量的仪表,如数字电压计。
  • 逐次比较型ADC(SAR ADC)
    • 特点:结构包含采样保持电路、逐次逼近寄存器和DAC,低功耗、高分辨率、高精度,但采样速率较低。
    • 应用场景:适用于高分辨率、低速的系统及设备。
  • 并行比较型ADC/串并行比较型ADC
    • 特点:具有极高的转换速率,但电路规模大、价格高。
    • 应用场景:适用于视频AD转换等需要高速转换的领域。
  • Σ-Δ调制型ADC
    • 特点:将输入电压转换成时间信号,利用过采样和Σ-Δ调制技术获得高分辨率,但转换速度较慢。
    • 应用场景:适用于音频、图像处理和通信等领域。
  • 电容阵列逐次比较型ADC
    • 特点:采用电容矩阵,实现高精度的单片ADC,成本较低。
    • 应用场景:多用于SAR ADC,适用于需要高精度和成本效益的应用。
  • 压频变换型ADC
    • 特点:通过将模拟信号转换成频率,再转换成数字量,具有高分辨率和低功耗。
    • 应用场景:适合需要高分辨率和低功耗的应用,如特定的测量设备。

2. ADC的主要技术指标及含义

  • 转换范围:ADC能够转换的模拟电压范围。
  • 分辨率:ADC所能分辨的最小量化信号能力。
  • 绝对精度:表示转换误差,通常用位数表示。
  • 转换时间和转换率:完成一次A/D转换所需的时间和每秒转换次数。
  • 量化误差:由于有限分辨率引起的误差。
  • 偏移误差:输入信号为零时输出信号不为零的值。
  • 满刻度误差:满度输出时输入信号与理想输入信号之差。
  • 线性度:转换器转移函数与理想直线的最大偏移。

3. STM32的ADC类型及主要特征

  • 类型:STM32的ADC属于逐次比较型(SAR ADC)。
  • 主要特征:12位分辨率,支持单次和连续转换模式,具有自动扫描和自校准功能,支持多种采样时间设定,具备规则和注入组转换选项。

4. STM32的ADC通道数及可测量的信号

  • 通道数:共有18个通道。
  • 可测量的信号:包括16个外部信号源和2个内部信号源(参考电压、温度传感器和电池电压)。

5. STM32的ADC规则组和注入组的区别

  • 规则组:由多达16个转换组成,可用于常规连续测量。
  • 注入组:由多达4个转换组成,用于特定条件下的快速转换,例如响应外部事件。

6. STM32的ADC采样时间及其与转换时间的关系

  • 采样时间:STM32的ADC使用若干个ADC时钟周期对输入电压进行采样,采样周期数目可通过寄存器设置。
  • 关系:总的转换时间由采样时间和一个固定的转换时间组成。例如,当ADC时钟为14MHz时,采样时间为1.5个周期,总转换时间为1.5 + 12.5 = 14个周期,即1微秒。

第九章

  1. STM32的USART传输方式及引脚
    • 传输方式:STM32的USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是一个全双工的通用同步/异步串行收发模块,因此,它使用串行传输。
    • 引脚:USART双向通信至少需要两个引脚,分别为接收数据输入(RX)和发送数据输出(TX)。 对于具体的引脚,USART接口通常至少包括以下几个引脚:
      • TX(Transmit Data):用于发送数据的串行传输线。
      • RX(Receive Data):用于接收数据的串行传输线。(重点记忆)
      • CK(Clock):在同步模式下使用,为串行通信提供时钟同步信号。
      • CTS(Clear To Send):流控信号,用于指示USART可以发送数据。
      • RTS(Request To Send):流控信号,用于请求从远端设备接收数据。
    • S表示synchronous 同步的;A表示asynchronous 异步的
  2. USART的收发模块包含的部分
    • USART收发模块主要分为三大部分:时钟发生器、数据发送器和接收器。
  3. USART初始化时配置的参数
    • 初始化时配置的参数主要包括:波特率、IO口的模式设置、数据位长度、停止位和奇偶校验位等。
  4. STM32的SPI传输方式及引脚
    • 传输方式:SPI(Serial Peripheral Interface)是一种高速的、全双工、同步的通信总线,因此它使用串行传输。
    • 引脚:文档中未提及SPI具体的引脚数量,但一般情况下SPI接口包括MISO(Master In Slave Out)、MOSI(Master Out Slave In)、SCK(Serial Clock)和SS(Slave Select)等几个主要引脚。
  5. SPI的主要特点及工作方式
    • 主要特点:SPI可以同时发出和接收串行数据,可作为主机或从机工作,提供频率可编程时钟,具有发送结束中断标志、写冲突保护和总线竞争保护等特点。
    • 工作方式:STM32的SPI支持最高18Mhz的时钟,支持DMA,并且可以配置为SPI协议或者I2S协议。配置步骤包括配置相关引脚的复用功能,设置SPI工作模式,以及使能SPI。

    and:

    • 高速的数据传输:SPI总线可以实现高速的串行数据传输。
    • 简单的硬件连接:SPI总线只需要少量的引脚连接即可实现通信。
    • 支持全双工通信:SPI总线可以同时进行数据的发送和接收。
    • 支持多从设备:SPI总线可以连接多个从设备,通过片选线选择与主设备进行通信的从设备。
    • SPI总线的工作方式主要有以下几种:
    • 主从模式:一个设备作为主设备,控制通信的时序和数据传输;其他设备作为从设备,根据主设备的指令进行数据的发送和接收。
    • 简单主从模式:主设备只发送数据,从设备只接收数据。
    • 简单从主模式:主设备只接收数据,从设备只发送数据。
    • 多主模式:多个主设备共享同一个SPI总线,通过片选线选择与从设备进行通信的主设备。
  6. SPI初始化时配置的参数
    • SPI模式:主模式或从模式。
    • 数据位长度:每个数据帧的位数。
    • 时钟分频系数:控制时钟频率的分频系数。
    • 时钟极性和相位:控制时钟信号的极性和相位。
    • 数据传输顺序:高位先传输还是低位先传输。
    • NSS信号模式:NSS信号的工作模式,可以是硬件控制或软件控制。
    • CRC校验:是否启用CRC校验。
    • 中断使能:是否允许SPI中断。
    • 数据发送、接收缓冲区:用于存储发送和接收数据的缓冲区。
    • 使能SPI功能:使能SPI总线的功能。
  7. STM32的I2C传输方式及引脚
    • 传输方式:I2C(Inter-Integrated Circuit)是一种串行通信协议,主要用于连接低速设备,如传感器、存储器等。
    • 引脚:I2C使用两个引脚进行通信,分别为数据引脚(SDA)和时钟引脚(SCL)。
  8. I2C初始化时配置的参数
    • I2C时钟速度:控制I2C总线的时钟频率。
    • I2C模式:主模式或从模式。
    • I2C地址模式:7位地址模式或10位地址模式。
    • I2C地址:用于识别设备的地址。
    • I2C中断使能:是否允许I2C中断。
    • I2C自动ACK:是否启用自动应答功能。
    • I2C DMA使能:是否使用DMA进行数据传输。
    • I2C数字滤波器使能:是否启用数字滤波器。
  9. I2C的工作模式
    • 从发送模式
    • 从接收模式
    • 主发送模式
    • 主接收模式
  10. I2C通信的流程和时序
    • 通信流程:I2C通信通常开始于主设备发出起始信号,然后发送设备地址和操作位(读/写),之后进行数据传输,最后由主设备发出结束信号来结束通信。
    • 时序:在传送数据过程中,I2C总线有三种类型的信号,分别是开始信号、结束信号和应答信号。其中,起始信号是必需的,而结束信号和应答信号可以不要。 具体:
      1. 主设备发送起始信号(Start)。
      2. 主设备发送从设备的地址和读/写指令。
      3. 从设备发送应答信号(ACK)。
      4. 主设备发送数据或读取数据。
      5. 从设备发送应答信号(ACK)。
      6. 可选:主设备可以发送重复启动信号(Repeated Start)。
      7. 主设备发送从设备的地址和读/写指令。
      8. 从设备发送应答信号(ACK)。
      9. 主设备发送数据或读取数据。
      10. 从设备发送应答信号(ACK)或非应答信号(NACK)。
      11. 主设备发送停止信号(Stop)。

更新时间:

留下评论