stm32 40道选择题解1

2023-05-16

第一题:型号解读

(1)STM32:STM32代表ARM Cortex-M系列内核的32位微控制器。

(2)F:F代表芯片子系列。

(3)407:407代表高性能基础系列。

(4)R:代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚。

(5)B:代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash。

(6)T:代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。

(7)6:代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。

第二题:开发工具

一集成开发环境

(1)Keil MDK Keil Embedded Development Tools for Arm, Cortex-M, Cortex-R4, 8051, C166, and 251 processor families.

(2)IAR EWARM IAR Systems

(3)Embedded Studio Embedded Studio: The Multi-Platform IDE

二专用IDE

(1)STM32CubeIDE STM32CubeIDE - Integrated Development Environment for STM32 - STMicroelectronics

ST官方推出的集成开发环境,集成了 TrueSTUDIO + STM32CubeMX 两个工具。

(2)RT-Thread Studio  https://www.rt-thread.org/page/studio.html

三下载器:J-Link、ULink、ST-Link、CMSIS-DAP Debugger

(本题中 keil应该是包括MDK的,keil四大软件 MDK C51 C251 C166)

第三题:时钟源

1、HSI是高速内部时钟,RC振荡器,频率为16MHz。

2、LSI是低速内部时钟,RC振荡器,频率为32KHz。

3、HSE是高速外部时钟,可接晶体/陶瓷振荡器,或者接外部时钟源(Bypass模式),频率范围是4-48MHz。

4、LSE是低速外部时钟,接频率为32.768KHz的石英或谐振器,或者使用旁路模式引入外部时钟源。

5、PLL为锁相环倍频输出,其时钟输入源可选择为HSE、HSI。倍频可选择为1~8倍,但是其输出频率最大不得超过72MHz(注意单片机的最大频率)。

SYSCLK 系统时钟来源有三个:HSI振荡器时钟 HSE振荡器时钟 PLL时钟

第四题:最大系统时钟频率

当选择PLL为系统时钟时可得最大频率,由产品手册得为72MHZ

第五题:中断响应顺序

STM32分为抢占式优先级和响应优先级,每个中断源都需要被指定这两种优先级

1、抢占优先级不同,会涉及到中断嵌套,抢占优先级高的会优先抢占优先级低的,优先得到执行。

2、抢占优先级相同,不涉及到中断嵌套,响应优先级不同,响应优先级高的先响应。

3、抢占优先级和响应优先级都相同,则比较它们的硬件中断编号,中断编号越小,优先级越高

中断号与中断向量表成对应关系(注意:优先级数字越小,优先级越高)

中断向量表:每一个中断函数都有一个地址,这个地址是由编译器随机分配的在内存中去定义一个地址的列表,这个列表的地址是固定的,列表里面存放中断函数的地址以及跳转到该中断函数地址所在的程序。

第六题:AHB

AHB=Advanced High Performance Bus

Advanced 高级 Performance 性能 Bus 线

高级高性能总线

是一种“系统总线”。AHB 主要用于高性能模块(如CPU、DMA和DSP等)之间的连接

第七题:标准库GPIO口配置

GPIO_Mode_IN //输入

GPIO_Mode_OUT //输出

GPIO_Mode_AF //复用模式

GPIO_Mode_AN //模拟输入

上拉输入就是信号进入芯片后加了一个上拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平为高电平

下拉输入就是信号进入 芯片后加了一个下拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平为低电平;

模拟输入:是指传统入式的输入.数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。

第八题:GPIO寄存器

  • GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..I)

  • GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..I)

  • GPIO 端口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..I/)

  • GPIO 端口上拉/下拉寄存器 (GPIOx_PUPDR) (x = A..I/)

  • GPIO 端口输入数据寄存器 (GPIOx_IDR) (x = A..I)

  • GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..I)

  • GPIO 端口置位/复位寄存器 (GPIOx_BSRR) (x = A..I)

第九题:高速外设总线

AHB,是Advanced High performance Bus的缩写,译作高级高性能总线,这是一种“系统总线”。AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。APB,是AdvancedPeripheral Bus的缩写,这是一种外围总线。 APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像 AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。再往下,APB2负责AD,I/O,高级TIM,串口1;APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM。

APB1是低速总线(最高 42Mhz),APB2 是高速总线(最高 84Mhz)

第十题:通讯方式

常见通信方式TTL RS232 RS485 I2C SPI CAN

单工:只能进行接收,或者只能进行发送半双工:可以进行接收,也可以进行发送,但是同一时间只能进行接收或者发送。全双工:可以进行接收,也可以进行发送,且同一时间,可以同时进行接收和发送。

同步通讯: 收发双方至少一根信号线一根数据线,在时钟信号的驱动下,双方同步数据,通讯双方会统一规定在时钟信号上升沿或者下降沿对数据采样。

异步通讯:不使用时钟信号同步数据,不使用信号线,直接在数据中加入用于同步的信号位,以数据帧的格式传输数据,有时候还要约定收发双方的传输速率。一般数据帧格式为(起始位+数据+校验位+结束位)。

1.uart:异步全双工通信2.rs485:异步半双工,rs485的本质就是uart外接485芯片,采用差分信号,抗共模干扰能力强,即抗噪声性能好,但是速度是uart的一半。3.spi:全双工同步通信4.i2c:半双工同步

第十一题:同第十题

第十二题:看门狗

STM32F10xxx内置两个看门狗,(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位

独立看门狗功能描述在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗。此时计数器开始从其复位值0xFFF递减,当计数器值计数到尾值0x000时会产生一个复位信号(IWDG_RESET)。无论何时,只要在键值寄存器IWDG_KR中写入0xAAAA(通常说的喂狗), 自动重装载寄存器IWDG_RLR的值就会重新加载到计数器,从而避免看门狗复位。如果程序异常,就无法正常喂狗,从而系统复位。

窗口看门狗功能描述之所以称为窗口就是因为其喂狗时间是一个有上下限的范围内(窗口),你可以通过设定相关寄存器,设定其上限时间(下限固定)。喂狗的时间不能过早也不能过晚

外部硬件看门狗如其意思,是单独在外面通过硬件运行的看门狗

第十三题:外部中断线与中断向量

PxN管脚共用外部中断线EXTIN和外部中断向量EXTIN_IRQn和中断服务程序入口EXTIN_IRQHandler,但是需要注意的是[9...5]共用EXTI95IRQn和EXTI95IRQHandler、[15...10]共用EXTI1510IRQn和EXTI1510IRQHandler。

第十四题:外部中断 中断线配置

STM32F103 的 19 个外部中断为: 线 0~15:对应外部 IO 口的输入中断;

                                                        线 16:连接到 PVD 输出;

                                                        线 17:连接到 RTC 闹钟事件;

                                                        线 18:连接到 USB 唤醒事件;

配置EXTI


EXTI_InitTypeDef  EXTI_InitStructure;
EXTI_InitStructure.EXTI_Line = EXTI_Line14; //配置第十四个中断线
EXTI_InitStructure.EXTI_LineCmd = ENABLE;  //使能EXTI
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; // 使用中断模式
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;  //下降沿触发 EXTI_Init(&EXTI_InitStructure);  

第十五题:定时器

STM32总共有3中定时器 高级定时器、通用定时器、基本定时器

三种定时器的区别如下

第十六题:同第十五题

第十七题:APB总线 and I/O最大翻转速度

STM32 APB1和APB2的区别主要是三点,分别是所对接的端口不通、工作速度状态不同、以及外设不同,具体区别如下如下:

1、所对接的端口不同:

APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM。

APB2负责AD,I/O,高级TIM,串口1。

2、所支持速度不同

APB1支持低速状态下的工作,APB2支持高速状态下的工作。

3、两者的外设不同

STM32 APB1和APB2的外设是不一样的,在STM32 APB1和APB2的中文手册上就可以看到了。

查资料可得:GPIO最大翻转速度可达18MHz

第十八题:输出模式位

MODE来定义最大输出速度的 01-10M,10-2M,11-50M

第十九题:DMA初始化函数

typedef struct{

uint32_t DMA_PeripheralBaseAddr; // 外设地址

uint32_t DMA_MemoryBaseAddr; // 存储器地址

uint32_t DMA_DIR; // 传输方向

uint32_t DMA_BufferSize; // 传输数目

uint32_t DMA_PeripheralInc; // 外设地址增量模式

uint32_t DMA_MemoryInc; // 存储器地址增量模式

uint32_t DMA_PeripheralDataSize; // 外设数据宽度

uint32_t DMA_MemoryDataSize; // 存储器数据宽度

uint32_t DMA_Mode; // 模式选择

uint32_t DMA_Priority; // 通道优先级

uint32_t DMA_M2M; // 存储器到存储器模式}

DMA_InitTypeDef;

第二十题:IIC 通信

第二十一题:ADC

ADC是Analog-to-DigitalConverter的缩写。指模/数转换器或者模拟/数字转换器。

STM32的ADC精度是12位,它有18个通道,可以测量16路外部和2个内部信号源,各通道的A/D转换可以单次、连续、扫描或间断模式执行,ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。

转换结束,注入转换结束和发生模拟看门狗事件时产生中断单次和连续转换模式从通道0到通道n的自动扫描模式自校准带内嵌数据一致的数据对齐

通道之间采样间隔可编程规则转换和注入转换均有外部触发选项间断模式双重模式(带2个ADC的器件)ADC转换速率1MHzADC供电要求:2.4V到3.6VADC输入范围:VREF- ≤ VIN ≤ VREF+规则通道转换期间有DMA请求产生。

stm32的usb简介:1。usb外设实现了usb2.0全速总线和APB1总线间的接⼝。2。usb外设支持usb挂起/恢复操作,可以停止设备时钟实现低功耗。

第二十二题:cpu唤醒

1、RTC定时唤醒;

2、外部中断唤醒(按键或者通讯唤醒);

3、特殊唤醒引脚唤醒(某些引脚具有专门的唤醒功能)

USB设备进入挂起状态之后,将由Resume信号进行唤醒。Resume信号可以由USB主机发起,也可以由USB设备本身触发

第二十三题:优先级个数

STM32 目前支持的中断共为 84 个(16 个内核+68 个 外部), 16 级可编程中断优先级 的设置(仅使用中断优先级设置 8bit 中的高 4 位)和 16 个抢占优先级 (因为抢占优先级最多可以有四位数) 

第二十四:外部中断控制器个数 见十四题

第二十五题:见第三题

第二十六题:电源复位情形

对于STM32来说,复位通常分为三种类型:系统复位、电源复位和备份域复位。本文结合STM32F4描述系统和电源复位的内容。

1. 系统复位

除了RCC的复位标志和备份域中的寄存器外,系统复位会将其它全部寄存器都复位为复位值。

1.产生系统复位事件:

  • NRST 引脚低电平

  • 窗口看门狗计数结束

  • 独立看门狗计数结束

  • 软件复位

  • 低功耗管理复位

2. 电源复位

除备份域内的寄存器以外,电源复位会将其它全部寄存器设置为复位值。

产生电源复位条件:

  • 上电/掉电复位或欠压复位

  • 在退出待机模式时

第二十七题:处理器架构

Cortex系列属于arm-v7架构

第二十八题:流水线

ARMCortex-M3采用哈佛结构,并选择了适合于微控制器应用的三级流水线

第二十九题:寄存器组

在这里插入图片描述

第三十题:ADC通道组

STM32其ADC的规则通道组最多包含16个转换,而注入通道组最多包含4个通道

第三十一题:DMA控制器

1. 什么是DMA (DMA的基本定义)

        DMA,全称Direct Memory Access,即直接存储器访问,是单片机的一个外设。

        DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。这里的存储器可以是片内的SRAM(默认存放变量)或者是FLASH(默认存放常量,被const修饰的全局变量可以看成是常量类型),而外设指的其实是外设的数据寄存器。但它们本质上是一样的,都是从内存的某一区域传输到内存的另一区域(外设的数据寄存器本质上就是内存的一个存储单元)。

        我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,DMA的主要功能是用来搬数据,在传输数据的时候,CPU就可以不被占用用来干其他事情,对于实时性要求比较高的场合,我们可以利用DMA来减小CPU的负担

    因此:转移数据(尤其是转移大量数据)是可以不需要CPU参与。比如希望外设A的数据拷贝到外设B,只要给两种外设提供一条数据通路,直接让数据由A拷贝到B不经过CPU的处理,通过DMA解决大量数据转移过度消耗CPU资源的问题。

2. DMA传输参数

        我们知道,数据传输,首先需要的是

  1. 数据的源地址

  2. 数据传输位置的目标地址

  3. 传递数据多少的数据传输量

  4. 进行多少次传输的传输模式 DMA所需要的核心参数,便是这四个

当用户将参数设置好,主要涉及源地址、目标地址、传输数据量这三个,DMA控制器就会启动数据传输,当剩余传输数据量为0时 达到传输终点,结束DMA传输 ,当然,DMA 还有循环传输模式 当到达传输终点时会重新启动DMA传输。

也就是说只要剩余传输数据量不是0,而且DMA是启动状态,那么就会发生数据传输。

3. DMA的主要特征

每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能通过软件来配置;

在同一个DMA模块上,多个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),优先权设置相等时由硬件决定(请求0优先于请求1,依此类推);

独立数据源和目标数据区的传输宽度(字节、半字、全字)[即1个字节、2个字节、4个字节],模拟打包和拆包的过程。源和目标地址必须按数据传输宽度对齐;

支持循环的缓冲器管理;

每个通道都有3个事件标志(DMA半传输、DMA传输完成和DMA传输出错),这3个事件标志逻辑或成为一个单独的中断请求;如果配置了中断使能,就会触发中断,然后通过中断标志位判断引起中断的事件类型,通常我们用来监测DMA是否传输完成。

存储器和存储器间的传输、外设和存储器、存储器和外设之间的传输;

闪存、SRAM、外设的SRAM、APB1、APB2和AHB外设均可作为访问的源和目标;

可编程的数据传输数目:最大为65535。

第三十二题:见第十题

第三十三题:见第十四题

第三十四题:

可编辑优先级有16个 4位二进制数足够了

第三十五题:见第三十一题

第三十六题:ARM的异常

异常 是处理器核在顺序执行程序指令流的过程中突然遇到了异常的事情,这些事件包括硬件错误、指令执行错误、用户程序请求服务、内存访问异常、取指令异常等,几乎每种处理器都支持特定的异常处理,中断也是异常的一种。

ARM的异常源

异常地址异常源描述优先级(6最低)
0x00Reset复位异常:在内核复位时执行1
0x04Undefined instructions未定义指令异常:流水线执行非法指令产生,该异常发生在流水线译码阶段,如果当前指令不能被识别为有效指令,将会出现此类异常。6
0x08SVC(Supervisor Call)、SWI软中断异常:用于程序触发软件中断执行,该异常是由应用程序自己调用时产生,当应用程序在需要访问硬件资源时需要调用该指令,该异常在管理模式(SVC)下运行。6
0x0CPrefetch abort预取指令中止异常:当一条指令从内存中取出时由于某些原因失败,且如果它能到达执行状态将会触发此异常。5
0x10Data abort数据访问中止异常:如果一个预取指令试图存取一个不存在或非法的内存单元时,将会触发此异常。5
0x14RESERVED保留保留
0x18IRQ一般中断异常4
0x1CFIQ快速中断异常3

详细的见:ARM 异常(Exception)_Eddy_l的博客-CSDN博客_arm异常

第三十七题:大小端模式

端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,数据从高位往低位放;这和我们的阅读习惯一致。

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。

一个字节存储8位无符号数,储存的数值范围为0-255=(16*16)。如同字元一样,字节型态的变数只需要用一个位元组(8位元)的内存空间储存 1(undefined) 。可存储两位16进制数

0x2 16 84 65=0x02 16 84 65

第三十八题:寄存器

在这里插入图片描述

第三十九题:见三十八

第四十题:嵌入式系统特点

1、系统内核小。嵌入式系统一般是应用于小型电子装置的,资源相对有限,所以内核较之传统的操作系统要小。

2、专用性强。嵌入式系统的个性化强,其中的软件系统和硬件的结合紧密,一般硬件系统要进行的移植,即使同一品牌、同一系列的产品中也需根据系统硬件的变化和增减进行修改。同时不同的任务,需要对系统进行较大更改,程序的编译下载须和系统相结合,这种修改和通用软件的“升级”是两个概念。

3、系统精简。嵌入式系统没有系统软件和应用软件的区分,不要求其功能设计及实现上复杂,一方面利于控制系统成本,也利于实现系统安全。

4、嵌入式软件的基本要求是高实时性的系统软件。软件要求固态存储,提高速度;软件代码要求高质量和高可靠性。

5、多任务的操作系统。嵌入式软件要想走向标准化,就须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接运行;但是为了调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户须自行选配RTOS开发平台。

6、需要开发工具和环境。其本身不具备自举开发能力,即使设计完成后用户通常也是不能对程序功能进行修改的,须有一套开发工具和环境才能开发,工具和环境是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。

7、与具体应用有机结合在一起,升级换代同步进行。因此,嵌入式系统产品一旦进入市场,具有较长的生命周期。

8、为提高运行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片中。

以上就是给各位带来的关于嵌入式系统的特点有哪些的全部内容了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

stm32 40道选择题解1 的相关文章

  • c项目makefile多重定义错误

    这个问题是一个对应于创建的repexthis问题 在我的嵌入式 C 项目中 我有两个独立的板 我想为每个板创建两个 c 文件 master c 和 Slave c 其中包含自己的特定main 功能 我使用 stm32cumbemx 生成带有
  • GCC - 如何停止链接 malloc?

    我正在努力将我的代码缩减到最小的骨架大小 我使用的是只有 32k 闪存的 STM32F0 需要很大一部分闪存用于数据存储 我的代码已经有大约 20k 闪存大小 其中一些是由于使用了 STM32 HAL 函数 我可以在以后需要时对其进行解释和
  • 当数据大小较小时,内存到内存 DMA 传输是否需要权衡?

    我正在学习 STM32 F4 微控制器 我正在尝试找出使用 DMA 的限制 根据我的理解和研究 我知道如果数据量较小 即设备使用DMA生成或消耗少量数据 则开销会增加 因为DMA传输需要DMA控制器执行操作 从而不必要地增加系统成本 我做了
  • 137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序

    资料编号 137 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DS18B20传感器 电机 制作一个基于stm32单片机智能保温杯控制装置Proteus仿真 2 通过DS18b20传感器检测当前保温杯水的温度 并且
  • 135-基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真+源程序

    资料编号 135 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 电机 超声波传感器 制作一个基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真 2 通过DHT11传感器检测当前
  • HAL库学习

    CMSIS简介 CMSIS Cortex Microcontroller Software Interface Standard 微控制器软件接口标准 由ARM和其合作的芯片厂商 ST NXP 软件工具厂商 KEIL IAR 共同制定的标准
  • STM32F103概要

    The STM32F103x4 STM32F103x6 STM32F103xC STM32F103xD and STM32F103xE are a drop in replacement for STM32F103x8 B medium d
  • SHT10温湿度传感器——STM32驱动

    实验效果 硬件外观 接线 3 3V供电 IIC通讯 代码获取 查看下方 END
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯
  • 嵌入式 C++11 代码 — 我需要 volatile 吗?

    采用 Cortex M3 MCU STM32F1 的嵌入式设备 它具有嵌入式闪存 64K MCU固件可以在运行时重新编程闪存扇区 这是由闪存控制器 FMC 寄存器完成的 所以它不像a b那么简单 FMC 获取缓冲区指针并将数据刻录到某个闪存
  • 使用 STM32F0 ADC 单独读取不同的输入

    STM32F072CBU 微控制器 我有多个 ADC 输入 并且希望单独读取它们 STMcubeMX 生成样板代码 假设我希望按顺序读取所有输入 但我无法弄清楚如何纠正这个问题 这篇博文 http blog koepi info 2015
  • STM32 传输结束时,循环 DMA 外设到存储器的行为如何?

    我想问一下 在以下情况下 STM32 中的 DMA SPI rx 会如何表现 我有一个指定的 例如 96 字节数组 名为 A 用于存储从 SPI 接收到的数据 我打开循环 SPI DMA 它对每个字节进行操作 配置为 96 字节 是否有可能

随机推荐