草庐IT

正点原子--STM32基本定时器学习笔记(1)

目录1.定时器概述1.1软件定时原理1.2定时器定时原理1.3定时器分类1.4定时器特性表1.5基本、通用、高级定时器的功能整体区别2.基本定时器简介3.基本定时器框图时钟树分析这部分是笔者对基本定时器的理论知识进行学习与总结!主要记录学习过程中遇到的重难点,其他一些基础点就一笔带过了!1.定时器概述1.1软件定时原理使用纯软件(CPU死等)的方式实现定时(延时)功能。比如想要延时1s,那么CPU就卡在延时函数里1s,什么事情都不能干,就会大大占用CPU资源。软件定时不精准的原因:1.函数调用有一个压栈和出栈的过程,压栈和出栈也需要消耗时间。2.stm32是arm架构,有三级流水线,(流水线可

c++ - STM32 SPI 硬件和严格的别名警告

我已经看到这个主题已经在许多其他问题中进行了讨论,但我无法完全找到我的特定案例的答案。我正在使用STM32F0微Controller。SPI接收/发送FIFO的顶部可通过内存访问访问。这个特殊的微Controller允许我从FIFO的顶部读/写8位或16位。更准确地说,当执行LDRB/STRB指令时,从FIFO弹出/压入8位,当执行LDRH/STRH指令时,从FIFO弹出/压入16位。意法半导体提供的硬件抽象层提出了这种读取SPIFIFO的语法。return*(volatileuint8_t*)&_handle->Instance->DR;//Pop1bytereturn*(volat

c++ - 使用 AVX2 将 8 位从 32 位值 (__m256i) 解压到 __m256 的最快方法

我有一个名为A的数组,它包含32个unsignedchar值。我想使用此规则将这些值解压缩到4个__m256变量中,假设我们有一个从0到31的索引,关于A中的所有值,解压缩的4变量将具有这些值:B_0=A[0],A[4],A[8],A[12],A[16],A[20],A[24],A[28]B_1=A[1],A[5],A[9],A[13],A[17],A[21],A[25],A[29]B_2=A[2],A[6],A[10],A[14],A[18],A[22],A[26],A[30]B_3=A[3],A[7],A[11],A[15],A[19],A[23],A[27],A[31]为此,我有

嵌入式毕设分享 基于单片机的智能音响设计与实现 -物联网 嵌入式 stm32

文章目录0前言1简介2主要器件3实现效果4设计原理4.1PAJ7620U2模块4.2HC-05蓝牙模块4.3JQ8900语音模块5部分核心代码6最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩基于单片机的智能音响设计与实现🥇学长这里给一个题目综合评分(每项满分5分)难度系数:4分工作量:4分创新点:3分1简介本项目是基于STM32单片机设计的智能音响系统,可用手机客户端控制音频文件的

一起玩儿物联网人工智能小车(ESP32)——63 SD和TF卡模块的使用

摘要:本文介绍SD和TF卡模块的使用方法前面介绍了非易失性存储的使用方法,由于空间和本身只支持键值对的限制,非易失性存储只适用于少量数据的记录。而不适用于各种声音、图片、大量数据等情况的使用。这时候就需要有文件系统或者更大容量存储空间的支持。SD卡(SecureDigitalMemoryCard)和TF卡(Trans-flashCard,也叫MicroSD卡)就是扩展存储空间的不错的选择,因为这两种卡都支持SPI模式,也就是可以通过SPI通信协议直接访问,因此这两种卡成了很多移动设备扩展存储空间的不二选择。SD卡通常有两种工作模式:SDIO模式和SPI模式。其实这也是两种通信协议,也就是说SD

c++ - Win32 : Monitoring for files being created or changed

1)如何使用FindFirstChangeNotification/FindNextChangeNotification+ReadDirectoryChanges来检测正在创建或删除的某些文件?2)FILE_NOTIFY_CHANGE_LAST_WRITE是否是文件更改的可靠指标?应用程序:我有一个明确的文件列表,这些文件可能位于不同的文件夹中。显示内容取决于lsit中实际存在的第一个文件。为此,我想添加一个自动刷新机制。因此我需要检测正在创建的“更重要的”文件,当前文件是否被更改或删除。列表不长(可能有十几个文件),所以我可以轮询这些文件,但对于某些应用程序,轮询间隔应该是50..8

STM32面试相关问题

总结以下之前面试时遇到的一些问题,以便回顾起来学习!技术面试一般都是看项目提问的,可能会问:STM32的内核型号有哪些?    回答:ARMCortex®-M0,M0+,M3,M4和M7内核,按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。stm32主频是多少,传感器和单片机总线类型有哪些?    回答:对于STM32来说,MCU的主频由硬件(晶振)和软件编程决定,并通过倍频来实现;单总线,IIC,S

蓝桥杯STM32 G431 hal库开发速成——RTC——实时时钟

一、什么是RTC?RTC是实时时钟(Real-TimeClock)的缩写,它是一种计时器件,通常用于计算和保持时间的精确追踪。这种设备在多种电子系统中都非常重要,尤其是在需要精确时间保持的应用中,如计算机、服务器、通讯设备和嵌入式系统(如单片机)等。RTC的主要特点和功能包括:持续时间跟踪:即使在主系统断电或处于低功耗模式时,RTC仍然可以继续工作,因为它通常由一个小型的电池供电。低功耗:RTC设计用来消耗极少的电力,从而可以在没有外部电源供应的情况下长时间运行。提供日期和时间信息:RTC能够提供年、月、日、小时、分钟和秒等信息。一些RTC还包括星期几的数据。应用广泛:从电脑(用于保持系统时钟

c++ - 在 WPF 应用程序中托管 win32 窗口?

我有一个遗留的c++win32应用程序,使用wpfwindows扩展它确实有效。但我想做的是将WPF窗口作为主窗口,而不只是任何旧窗口,而是棱镜外壳窗口。因此,我想在我的遗留c++项目中添加一个Bootstrap、shell窗口、MEF加载程序以及所有附加功能。我想在其中放置一些命令,以便在需要时打开旧版win32窗口。现在在win32应用程序中打开WPF窗口很简单,我只需要使用System::Windows::Forms::Integration::ElementHost::EnableModelessKeyboardInterop(mywindow);但是如何在WPF应用程序中打开

c++ - Win32 无窗口应用程序 - 等待程序退出

我有一个无窗口应用程序,其唯一目的是安装一个32位HookDLL文件并等待父程序(64位程序)退出。64位程序是用C#写的,无窗口应用是用C++写的。我最初有这个GetMessage循环,它使程序保持打开状态:while(GetMessage(&msg,NULL,0,0)>0){TranslateMessage(&msg);DispatchMessage(&msg);}我在C#中使用Process.Kill方法关闭C++应用程序,但我发现这不允许C++应用程序干净地关闭。此外,如果C#应用程序崩溃,C++应用程序将永远保持打开状态。我使用此循环检查C++应用程序以查看C#应用程序是否仍