STM32
文章平均质量分 94
STM32 HAL库 M3 M4 F429/F767
咖喱年糕
欢迎大家,和我一起探讨学术上的知识,一起学习一起进步!
展开
-
【FlyMCU】串口下载烧录程序
FlyMCU 是一款基于STM32微控制器的开发板,它通常被设计用于教学和开发目的。这个名字中的“Fly”可能是指这款开发板的灵活性和易用性,而“MCU”则是Microcontroller Unit(微控制器单元)的缩写。原创 2024-09-19 16:04:37 · 307 阅读 · 0 评论 -
【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件
STM32 ST-LINK Utility 是一款由意法半导体(STMicroelectronics)提供的软件工具,用于配合ST-LINK编程器/调试器硬件设备,以实现对STM32系列微控制器的编程和调试。这款工具类似于J-Link工具对于J-Link编程器的作用。代码烧写:可以直接下载HEX文件或BIN文件到STM32微控制器的闪存中。代码加密:可以对下载的代码进行读保护,防止未经授权的读取。批量生产:在产品批量生产阶段,可以快速高效地进行代码烧写。数据读取。原创 2024-09-18 09:36:46 · 1171 阅读 · 0 评论 -
STM32——Keil5的编译警告和错误订正
HARDWARE\src\Infrared-Timer3.c(326): error: #167: argument of type “uint32_t” is incompatible with parameter of type “uint8_t *”(声明不能再执行语句后面)\HARDWARE\1U\src\Uart.c(1114): warning: #1293-D: assignment in condition(转让的条件)有重复定义_XXX_H,修改_XXX_H名字就好**原创 2024-05-14 16:44:54 · 1771 阅读 · 0 评论 -
【正点原子STM32】CAN串行通信总线协议(CAN总线特点、应用场景、物理层、协议层、位时序、硬件同步和再同步、总线仲裁、STM32CAN控制器、CAN相关寄存器和HAL库驱动、CAN基本驱动步骤)
此外,随着技术进步和需求增加,出现了CAN FD(CAN with Flexible Data-rate)标准,它在保持与经典CAN兼容的同时,大幅提升了数据传输速率,理论上最高可达5Mbps或更高,同时还增加了数据帧的有效负载长度,更适合于大数据量传输的应用场景。:在多主控网络中,CAN的物理层通过比较总线上的电位变化来实现非破坏性的仲裁,即当两个或多个节点同时尝试发送数据时,具有较低优先级(较高ID)的节点会自动停止发送,转而监听总线上的数据,从而避免了数据冲突和总线冲突。原创 2024-03-13 19:21:51 · 2604 阅读 · 5 评论 -
【正点原子STM32】RS485串行通信标准(串口基础协议 和 MODBUS协议、总线连接、通信电路、通信波形图、RS485相关HAL库驱动、RS485配置步骤、)
RS485是一种串行通信标准,它利用差分信号对(通常是一对非绝缘的导线A和B)来传输数据,由于其差分信号的性质,使得它具有很强的抗共模干扰能力,特别适用于工业控制环境,能够确保在长距离、复杂电磁环境下稳定通信。:是一种全双工、差分传输的串行通信标准,它具有较高的抗干扰能力和较长的传输距离,支持多点传输,每个信号都有明确的方向(发送和接收分离),常用于工业控制领域。:是一种逻辑电平标准,通常在集成电路内部或者集成电路之间近距离通信时使用,它的高低电平相对较低,通常为3.3V或5V表示逻辑1,0V表示逻辑0。原创 2024-03-13 12:08:02 · 9573 阅读 · 0 评论 -
【正点原子STM32】QSPI四线SPI模式(Quad-SPI存储器、间接模式、状态轮询模式、内存映射模式、命令序列、QSPI基本使用步骤、SPI FLASH基本使用步骤)
QSPI介绍总的来说,SPI的这几个变种主要是为了提高数据传输效率,同时在一定程度上减小接口引脚数量,但也会带来一些限制,如在高数据速率下只能进行半双工通信。而在实际应用中,尤其是在与闪存设备交互时,SPI模式的选择需要根据系统的性能需求、空间占用以及功耗预算等因素综合考虑。原创 2024-03-12 20:30:35 · 7935 阅读 · 0 评论 -
【正点原子STM32】SPI总线协议(集成电路间通信接口标准、SPI工作原理、时钟极性(CPOL)和时钟相位(CPHA)、SPI相关寄存器和HAL库驱动、NOR FLASH基于SPI接口基本驱动步骤)
SPI(Serial Peripheral Interface)是一种常见的集成电路间通信接口标准,它允许一个主设备与一个或多个从设备之间进行全双工同步串行通信。SPI接口以其高速、灵活和简单易用的特性被广泛应用于嵌入式系统和众多电子设备中。主要应用领域包括但不限于:SPI接口通常由四条信号线组成,包括:此外,某些SPI实现可能还包括额外的控制线或中断线,以便增强功能或优化通信。SPI的最大特点是它的高速同步通信能力,使其在需要高速数据传输和精确同步的场合尤为适用。SPI和IIC(I²C)都是常见的串行通原创 2024-03-12 17:48:33 · 2246 阅读 · 0 评论 -
【正点原子STM32】IIC-六轴传感器实验(SH3001集成三轴加速度计和三轴陀螺仪于一体的六轴姿态传感器、结构工作原理、电源模式、寄存器、时序、驱动步骤、姿态解算)
SH3001是一款由Senodia公司生产的集成三轴加速度计和三轴陀螺仪于一体的六轴姿态传感器,它能够实时测量芯片沿X、Y、Z轴的加速度和角速度,通过融合算法(如互补滤波、卡尔曼滤波等)可以计算出芯片在三维空间中的姿态角(如俯仰角、翻滚角、航向角)。其主要特性包括:陀螺仪量程:支持多个量程选项,分别为±125 dps、±250 dps、±500 dps、±1000 dps和±2000 dps,表示陀螺仪能够测量的角速度范围。陀螺仪灵敏度:对应陀螺仪不同量程,有不同的灵敏度,例如在±125 dps量程下,灵敏原创 2024-03-11 21:11:53 · 2364 阅读 · 12 评论 -
【正点原子STM32】IIC-磁力计实验(地磁场、磁力计校准、ST480MC高精度三轴磁力计、ST480MC的工作模式、寄存器、命令、ST480MC时序、ST480MC驱动步骤)
因其小巧、精准和低功耗的特点,ST480MC常被应用于需要精确磁场测量和方向感知的场合,如电子罗盘、智能手机的指南针功能、平板电脑、手持导航设备以及其他需要磁定向或地磁信号检测的智能硬件产品中。A2 - A0:器件地址引脚,用于在多设备I²C总线系统中区分不同器件,通过连接至高电平或低电平,可以设置不同的7位I²C地址,注意这个引脚不能悬空。:在X轴和Y轴上,其分辨率为0.15微特斯拉(uT)每最小可寻址位(LSB),而在Z轴上分辨率稍低,为0.25 uT/LSB,确保了较高的测量精度。原创 2024-03-11 19:08:26 · 2589 阅读 · 0 评论 -
【正点原子STM32】IIC-光环境传感器实验(AP3216C环境传感器组件、AP3216寄存器、AP3216读写时序、寻址、AP3216驱动步骤、IR传感器、PS传感器、ALS传感器)
当主设备想要向AP3216C写入数据时,会在设备地址0x1E的基础上左移1位(乘以2),然后在其最低位(LSB)附加一个0,形成完整的8位写操作地址,即0x3C(0x1E原创 2024-03-09 08:39:06 · 2593 阅读 · 0 评论 -
【正点原子STM32】IIC-IO扩展实验(PCF8574(IO扩展芯片)I²C总线接口的8位并行I/O端口扩展器、PCF8574寻址、写/读操作时序、中断引脚、PCF8574驱动步骤)
当作为输入口使用时,为了获得正确的输入状态,需要将对应的内部输出驱动设置为高电平(上拉),这样在外部设备不驱动的情况下,端口就能通过内部上拉电阻检测到高电平输入。综上所述,PCF8574T芯片非常适用于需要扩展I/O资源的嵌入式系统,特别适合在I/O口有限或者布线困难的场合,通过一根I²C总线就可轻松管理和控制大量的外围设备。:PCF8574T还有一个中断输出引脚(INT),当任一输入口的状态发生变化时,可以触发此中断信号,告知主控制器有输入状态的变化,方便系统做出及时响应。一、PCF8574简介。原创 2024-03-09 08:38:41 · 4527 阅读 · 3 评论 -
【正点原子STM32】IIC总线协议(拓扑图、IIC协议的核心特征、IIC协议的时序、AT24C02基于EEPROM非易失性存储器件、AT24C02读写时序、AT24C02驱动步骤、IIC通信失败)
在实际应用中,IIC总线因其简单易用、占用IO口少、支持热插拔和故障隔离等特点,常被用于各种嵌入式系统中不同器件间的通信,如温度传感器、EEPROM、ADC、DAC等。总之,IIC总线协议作为一种简洁高效的通信协议,广泛应用于传感器、存储器、微控制器等各种集成芯片间的通信,尤其适用于那些只需要少量线路连接和较低数据速率的应用场景。总结来说,IIC协议通过严格的时序规定保证了通信的可靠性和准确性,尤其是在多设备共用一条总线的情况下,这种有序的时序控制尤为重要。一、IIC总线协议介绍。一、IIC总线协议介绍。原创 2024-03-08 19:08:49 · 2351 阅读 · 0 评论 -
【正点原子STM32】DAC数模转换器(DAC特性、DAC工作原理、DAC输出实验配置步骤、DAC输出三角波实验、DAC输出正弦波实验配置步骤、PWM + RC滤波器、PWM DAC技术实现原理)
DAC的基本工作原理是根据输入的数字信号值,在一定的时间间隔内产生相应的模拟输出。RC低通滤波器是一种常见的模拟电路,它由电阻R和电容C组成,主要功能是允许低频信号顺利通过,同时衰减或抑制高频信号,起到平滑输出电压、减少噪声的作用。则是为DAC的模拟部分提供的工作电压,其电压范围要求在2.4V至3.6V之间,确保DAC能在指定电压范围内正常工作并提供准确的模拟信号输出。总之,DAC是数字电路与模拟电路之间的重要接口,它实现了数字信号到模拟信号的转换,为数字系统与模拟系统之间的数据交互提供了基础。原创 2024-03-08 16:22:22 · 6017 阅读 · 0 评论 -
【正点原子STM32】ADC模数转换器(ADC类型、ADC工作原理、单通道ADC采集、单通道ADC采集(DMA读取)、多通道ADC采集(DMA读取)、单通道ADC过采样、内部温度传感器、光敏传感器)
对于STM32系列,如果ADC的参考电压(VREF+)为3.3V,且分辨率为12位,则最小刻度为 ( \frac{3.3V}{2^{12}} ) ,即 ( \frac{3.3V}{4096} )。通过连接至ADC(模数转换器)的方式,可以读取电压的变化,从而得知光强的变化情况。它的位数决定了 ADC 的分辨率。在逐次逼近型 ADC 中,数码寄存器通常是一个 N 位的寄存器,其中 N 表示 ADC 的分辨率。这种光电流的变化是非线性的,即光强增大时,电流不是简单地线性增加,而是呈现出一种非线性的变化。原创 2024-03-05 15:39:39 · 6872 阅读 · 0 评论 -
【正点原子STM32】DMA直接存储器访问(DMA传输、DMA请求、DMA通道、DMA优先级、DMA处理过程、DMA相关寄存器和HAL库驱动、DMA配置步骤、DMAMUX DMA请求复用器)
一、DMA介绍一、DMA介绍DMA(直接存储器访问):DMA是一种计算机系统中的重要技术,它允许数据在内存和外设之间直接传输,而无需CPU的直接干预。这种直接传输的方式可以显著提高数据传输的效率,因为它可以在数据传输过程中不占用CPU的时间,从而使CPU能够专注于执行其他任务。DMA工作原理是在CPU控制下配置好DMA的参数后,DMA控制器会独立地从一个地址空间(通常是内存)中获取数据,并将数据传输到另一个地址空间(可以是内存或者外设)。原创 2024-03-04 20:38:54 · 2506 阅读 · 0 评论 -
【正点原子STM32】PVD低功耗实验 – 电源监控(POR/PDR监控器、PVD监控器、 BOR监控器、AVD监控器、VBAT阈值、温度阈值、PVD相关寄存器和HAL库驱动、PVD的使用步骤)
(可编程电压检测器):监控芯片的供电电压(通常为VDD),并在电压低于或高于特定阈值时触发相应的中断或复位。通过调用以上的HAL库驱动函数,并结合相关的结构体配置,可以方便地实现对PVD功能的配置和使能,从而实现对供电电压的监测和管理。(欠压复位):在供电电压低于特定阈值时触发复位操作,以确保系统在电源电压不足时不会工作,从而避免不可预测的行为或数据损坏。通过以上步骤,可以完成对PVD功能的配置和使用,确保系统在供电电压异常时能够及时响应并采取相应的措施,保障系统的稳定运行。原创 2024-03-04 10:19:23 · 2178 阅读 · 1 评论 -
【正点原子STM32】LOW POWER(PWR)低功耗(电源系统结构、低功耗模式(睡眠、停止、待机)、稳压器、WFI任意中断和WFE唤醒事件命令、低功耗相关寄存器和HAL库驱动、低功耗模式配置步骤)
这些稳压器可以提供不同的输出电压,并且具有不同的性能特性,以满足不同应用场景的需求。在待机模式下,为了保持系统状态的一致性,除了待机电路和备份域外,寄存器和存储器的内容通常是保持不变的。综上所述,STM32 F1系列的电源系统结构通过提供主要电源电压和模拟外设独立供电来保证系统的稳定性和精确度,同时还提供备用电源模式以保障关键功能在主要电源失效时的正常工作。低功耗设计通常意味着电路在操作时消耗的能量较少,因此可以采用更简单、更低成本的电源设计,减少对散热和电源管理的要求,降低产品的整体成本和复杂度。原创 2024-03-02 18:15:20 · 2046 阅读 · 0 评论 -
【正点原子STM32】RNG硬件随机数(随机数发生器、真随机和伪随机、应用场景、RNG结构和原理、RNG相关寄存器和HAL库驱动、RNG基本驱动步骤)
真随机数由物理过程生成,具有完全随机的性质,而伪随机数则是通过确定性算法计算出来的,虽然看起来像是随机的,但是在一定条件下可能会被预测到。总体而言,RNG通过模拟电路实现,利用环形振荡器、LFSR和时钟检查器等组件,生成随机数种子,并在检测到异常情况时产生中断,确保随机数生成的安全性和可靠性。:在游戏开发中,随机数被广泛用于生成游戏中的随机事件、随机地图、随机怪物属性等,增加游戏的趣味性和挑战性。:在网络安全和用户验证中,随机数用于生成验证码,增加系统的安全性,防止机器人攻击和恶意访问。原创 2024-03-02 07:33:43 · 2088 阅读 · 0 评论 -
【正点原子STM32】RTC实时时钟(RTC方案、BCD码、时间戳、RTC相关寄存器和HAL库驱动、RTC基本配置步骤、RTC基本驱动步骤、时间设置和读取、RTC闹钟配置和RTC周期性自动唤醒配置)
RTC(Real Time Clock,实时时钟)是一种专门用于记录时间的设备或模块,通常作为计算机系统中的一部分存在。其本质是一个计数器,以秒为单位进行计数,可以提供精确的时间信息,并且具有以下特性:提供时间信息: RTC能够提供当前的时间,通常以秒钟数的形式表示,但也可以提供更精细的时间分辨率,如毫秒或微秒级别。持久性: RTC具有持久性,即在MCU(Microcontroller Unit,微控制器单元)掉电后仍然能够继续运行,因此能够确保时间信息的连续性和准确性。低功耗: RTC通常具有低功耗特性,原创 2024-03-01 07:11:17 · 5215 阅读 · 1 评论 -
【正点原子STM32】USMART串口调试组件(USMART主要特点、USMART原理、USMART组成、USMART扫描函数、USMART移植、USAMRT使用、USAMRT源码)
使用USMART,开发者可以在不修改代码的情况下,通过串口发送指令来调用预先编写的函数,并且可以实时观察函数的返回值或输出结果。通过USMART,用户可以直接通过串口调用已编写的函数,并且可以随意修改函数参数,从而快速进行代码调试和功能验证。然后将参数传递给该函数指针所指向的函数,并执行该函数。如果提取出的函数名与本地函数名表中的函数名不匹配,则提示用户输入的函数名有误或者不存在,报错并等待下一次输入。通过这样的流程,USMART实现了通过串口调用用户编写的函数,方便快捷地进行代码调试和功能验证。原创 2024-03-01 03:50:06 · 2803 阅读 · 8 评论 -
【正点原子STM32】LTDC LCD(RGB屏)实验(TFT LCD、RGB LCD信号线、驱动模式、LTDC驱动LCD-TFT显示器、LTDC控制器、DMA2D-GPU、DMA2D颜色填充步骤)
一、RGB LCD简介二、LTDC介绍三、RGB屏基本驱动步骤四、编程实战1五、DMA2D介绍六、DMA2D颜色填充的具体步骤七、编程实战2八、总结嵌入式图形系统通常由微处理器、帧缓冲器、显示控制器和显示屏等组成,其工作流程如下:微处理器(Microprocessor): 微处理器负责执行程序,并根据程序输出生成要显示的图像数据。这些图像数据通常以像素为单位,表示图像中每个像素的颜色和位置等信息。帧缓冲器(Frame Buffer): 帧缓冲器是一块内存区域,用于存储要显示图像的像素数据。在帧原创 2024-02-29 08:29:18 · 5240 阅读 · 1 评论 -
【正点原子STM32】FSMC_FMC——NAND FLASH实验(存储原理、存储结构、坏块管理和磨损均衡、控制命令、FMC-NAND FLASH接口、NAND FLASH驱动步骤)
一、NAND FLASH介绍1.1、NAND FLASH简介1.2、NAND FLASH寻址1.3、NAND FLASH控制命令1.4、NAND FLASH难点二、FMC-NAND FLASH接口介绍2.1、FMC-NAND FLASH控制器简介2.2、FMC-NAND FLASH访问参数介绍2.3、STM32的FMC控制器硬件ECC2.4、FMC-NAND FLASH控制器相关寄存器介绍2.5、FMC-NAND FLASH控制器相关HAL库函数介绍三、NAND FLASH驱动步骤原创 2024-02-29 08:02:33 · 3576 阅读 · 7 评论 -
【正点原子STM32】FSMC_FMC——SDRAM实验(存储器类型、SDRAM操作命令、SDRAM工作流程(初始化、读和写)、FMC相关寄存器和HAL库驱动、SDRAM模块驱动步骤)
通常情况下,可以通过指定基地址和存储器大小来确定外部SDRAM的地址范围,并将其映射到MCU的内部地址空间中,以便MCU可以直接访问外部SDRAM的数据。然后,MCU在访问外部存储器时,会将内部地址转换为外部存储器的物理地址,从而实现对外部存储器的访问。在刷新期间,SDRAM会按照一定的规则,重新读取存储单元中的数据,并重新写入以维持电荷的状态,以防止数据丢失。总的来说,FMC外部器件地址映射是通过配置FMC参数和寄存器来实现的,确保外部存储器的地址范围能够被正确地映射到STM32的内部地址空间中。原创 2024-02-28 08:26:19 · 2827 阅读 · 0 评论 -
【正点原子STM32】FSMC_FMC——外部SRAM实验(SRAM外部静态随机存取存储器、SRAM读写操作步骤、FSMC灵活的静态存储控制器、FSMC HAL库相关驱动、SRAM模块驱动步骤)
例如,可以将外部存储器的地址范围映射到CPU的内存地址空间中的某个片区,比如将外部存储器的地址范围映射到内存地址0x60000000开始的区域。SRAM中的数据通常被组织为字节。综上所述,SRAM是一种高性能、低功耗、易于集成和操作的存储器类型,适用于许多不同的应用领域,包括计算机内存、嵌入式系统、通信设备和其他需要快速、可靠的数据存储和访问的设备。总之,内核地址映射是通过配置MMU或者直接修改内存映射表来实现的,通过将外部存储器的地址空间映射到CPU的内存地址空间中,从而实现CPU对外部存储器的访问。原创 2024-02-28 07:33:44 · 2490 阅读 · 0 评论 -
【正点原子STM32】FSMC_FMC——LCD实验(LCD驱动过程、8080时序、LCD驱动芯片(6条指令)、LCD基本驱动步骤、FSMC实现复杂的时序控制、FSMC配置相关寄存器和HAL库函数)
一、显示器分类二、LCD简介三、LCD驱动原理四、LCD驱动芯片简介五、LCD基本驱动步骤六、编程实战1七、FSMC介绍7.1、FSMC简介7.2、FSMC框图介绍7.3、FSMC时序介绍7.4、FSMC地址映射7.5、FSMC相关寄存器介绍7.6、FSMC相关HAL库函数介绍八、编程实战2九、总结根据你提供的信息,这是对不同类型的显示器的分类和特点的总结:断码屏:点阵屏:LCD屏:OLED屏:根据具体的应用需求和预算考量,选择适合的显示器类型会更加合适。LCD原理:https://原创 2024-02-27 20:18:20 · 989 阅读 · 0 评论 -
【正点原子STM32】内存保护单元(MPU)实验(内核地址映射、MPU设置内存区域的访问权限和属性、三种内存类型、Cache缓存、MPU相关寄存器介绍、MPU相关HAL库驱动、MPU基本配置步骤)
当CPU需要执行指令时,首先会在指令缓存中查找,如果找到了相应的指令,则可以直接从缓存中获取,从而加快了指令的执行速度。在计算机系统中,特别是在多处理器系统或多核系统中,当存在多个处理器核心(或处理器)时,可能需要进行不同核心之间的数据同步,以确保数据的一致性和正确性。在配置了MPU的访问权限后,如果程序尝试访问未经授权的区域或者违反了权限配置,将触发错误异常(MemManage),系统会相应地进行处理,通常是通过异常处理机制中的相关异常处理函数进行处理,例如重启系统或者输出错误信息等。原创 2024-02-27 16:20:59 · 4100 阅读 · 1 评论 -
【正点原子STM32】OLED实验(OLED显示屏、ATK_OLED模块,OLED驱动原理、SSD1306工作时序(8080时序),OLED驱动芯片,字符显示原理、字模生成软件,OLED基本驱动步骤)
一、OLED显示屏介绍一、OLED显示屏介绍OLED(Organic Light-Emitting Diode)显示屏是一种利用有机发光二极管制成的显示技术。与传统的LCD(Liquid Crystal Display)显示屏相比,OLED具有许多优点和一些缺点。原创 2024-02-26 08:28:12 · 3361 阅读 · 0 评论 -
【正点原子STM32】电容触摸按键实验(电容触摸按键原理、电容值C跟时间值t成正比关系、利用定时器输入捕获功能计算充电时间、检测电容触摸按键过程、tpad关键函数、tpad_scan函数 点按和连按)
一、电容触摸按键原理介绍一、电容触摸按键原理介绍电容触摸按键是一种常见的电子开关,它通过检测人体的电容变化来实现按键操作。:电容触摸按键利用人体和地面之间的电容来检测触摸。当人体靠近电容触摸区域时,人体与地面之间的电容会发生变化,因为人体是导电的,会对电场产生影响。这种电容变化可以被电路感知到。:电容触摸按键通常使用的是电容传感器来检测电容的变化。传感器通常由一对电极构成,一个是发送电极,负责发送电场,另一个是接收电极,负责接收电场。当有人触摸时,人体作为第三电极会改变电场,从而改变接收电极的电容值。原创 2024-02-26 08:27:55 · 4984 阅读 · 8 评论 -
【正点原子STM32】TIMER 定时器(软件定时原理、定时器定时原理、分类和特性,基本定时器(影子寄存器和U事件和UI中断),通用定时器、计数器时钟源,高级定时器、比较模式相位、互补输出带死区控制)
通过以上步骤,定时器可以实现精准的定时功能,而且由于定时器的计数过程由硬件实现,不需要CPU的干预,因此不会占用CPU资源,能够同时执行其他任务,提高了系统的效率。软件定时的原理是利用CPU执行特定的指令序列来实现延时功能,即在程序中通过循环等待的方式来达到延时的效果。总的来说,U事件是定时器的一个基本触发事件,而UI中断则是由U事件触发的中断请求,通过处理UI中断,可以实现基于时间的任务调度和定时功能。定时器定时的原理是利用硬件定时器模块中的计数器和自动重载寄存器来实现精准的定时功能。原创 2024-02-07 20:28:32 · 543 阅读 · 1 评论 -
【正点原子STM32】WWDG 窗口看门狗(简介、工作原理、WWDG寄存器配置操作步骤、WWDG超时时间计算、WWDG配置步骤、配置窗口看门狗流程、IWDG和WWDG的主要区别)
IWDG和WWDG的主要区别1. 时钟源:独立看门狗 : 使用低速内部振荡器 (LSI),其频率为40KHz或32KHz。窗口看门狗 : 使用主时钟 PCLK1(或 PCLK3,具体取决于芯片型号)。2. 复位条件:独立看门狗 :递减计数器计数到0时产生复位。窗口看门狗 :计数值大于窗口值 W[6:0] 时喂狗或计数器减到0x3F时产生复位。3. 中断:独立看门狗 :没有中断功能。窗口看门狗:可以在计数值减到0x40时产生中断,提供提前唤醒的功能4.递减计数器位数不同5.应用场景不同原创 2024-02-08 13:09:04 · 1586 阅读 · 0 评论 -
【正点原子STM32】IWDG 独立看门狗(简介、工作原理、IWDG寄存器配置操作步骤、IWDG溢出时间计算、IWDG配置步骤、独立看门狗流程)
IWDG通常被看作是异常处理的最后手段。当其他的异常处理机制都无法正常工作或者不可靠时,IWDG可以作为一个保险机制,确保在极端情况下系统可以重新启动。原创 2024-01-30 11:37:23 · 1717 阅读 · 0 评论 -
【正点原子STM32】串口(数据通信、串行/并行,单工/半双工/全双工,同步/异步、ST MCU选型手册、串口数据发送接收过程、设置USART波特率、UART异步通信配置步骤、IO引脚复用功能)
数据通信通信方式:串行/并行通信传输方向:单工/半双工/全双工通信同步方式:同步/异步通信RS-232,CMOS,TTL,USB电平、CH340CST MCU选型手册时钟域和时钟源串口数据发送接收过程相关寄存器作用设置USART波特率USART/UART异步通信配置步骤IO引脚复用功能通过串口接收或者发送一个字符串口源码接收或者发送一段字符串数据原创 2024-01-30 01:02:41 · 3339 阅读 · 2 评论 -
【正点原子STM32】中断(NVIC和EXTI、中断优先级基本概念及分组、中断配置步骤API及相关寄存器、AFIO或SYSCFG、EXTI和IO映射、EXTI的配置步骤、HAL库中断回调处理机制)
中断向量表(Interrupt Vector Table,简称IVT)是嵌入式系统中一块用于存储中断服务函数地址的固定内存区域。它通常是在系统启动时被定义和初始化的,以确保当发生中断时,CPU可以迅速找到并执行相应的中断服务函数。中断向量表通常被放置在内存的固定位置,并且其地址需要按照一定的规则对齐。在许多嵌入式系统中,IVT的起始地址是0x00000000,每个中断的入口地址都以4字节对齐排列。中断向量表的主要目的是存储每个中断对应的中断服务函数的首地址。原创 2024-01-29 09:39:23 · 1941 阅读 · 0 评论 -
【正点原子STM32】GPIO(简介、IO端口基本结构、GPIO的八种模式、GPIO寄存器、通用外设驱动模型、GPIO配置步骤、编程实战)
GPIO的八种模式输入浮空F1系列F4/F7/H7系列作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出输入下拉模拟功能开漏输出开漏式复用功能输入上拉推挽输出推挽式复用功能F4/F7/H7系列和F1系列的GPIO差异点通用外设驱动模型(四步法)1,初始化 时钟设置、参数设置、IO设置、中断设置(开中断、设NVIC)(可选)2,读函数(可选) 从外设读取数据3,写函数(可选) 往外设写入数据4,中断服务函数(可选) 根据中断标志,处理外设各种中断事务原创 2024-01-29 08:29:15 · 5059 阅读 · 0 评论 -
【正点原子STM32】SYSTEM文件夹介绍(sys文件夹、deley文件夹、USART 文件夹、SysTick、printf函数、fputc函数、半主机模式)
这些函数主要用于在嵌入式系统中提供简单的延时功能。函数是一个高层次的接口,它在底层调用标准库的输出函数,而用户可以通过重定向这些输出函数来适应不同的硬件或输出设备。这些函数涵盖了系统的基本控制、中断管理、低功耗模式的配置、栈顶地址的设置、系统时钟的初始化以及缓存的配置等方面。这样,在整数秒数的延时和剩余毫秒数的延时之间,可以实现相对较为准确的毫秒级延时。该函数的主要目的是对 SysTick 定时器进行初始化配置,包括清零控制寄存器、配置时钟源为 HCLK 除以 8,以及计算用于延时的全局变量的值。原创 2024-01-27 08:45:41 · 2342 阅读 · 4 评论 -
【正点原子STM32】STM32时钟系统(时钟树、时钟源、分频器和倍频系数、锁相环、STM32CubeMX时钟树、系统时钟配置步骤)
在微控制器或数字系统中,通过配置分频器和倍频系数,可以灵活地适应不同的硬件要求,以满足外设的时钟需求,同时确保系统时钟的稳定性和准确性。这是在数字电路中常见的一种功能,它允许在系统中使用不同频率的时钟信号,以适应不同的模块和外设的工作需求。总体而言,分频器是数字电路中的重要组件,允许系统中的不同部分以不同的时钟频率运行,以满足不同模块的工作要求。总的来说,分频器和倍频系数是时钟系统中的两个关键元素,通过它们的配置,可以实现对时钟频率的灵活调整,以满足不同应用场景的需求。原创 2024-01-27 08:32:12 · 3696 阅读 · 0 评论 -
【正点原子STM32】STM32CubeMX入门(搭建Java运行环境、STM32CubeMX安装、新建STM32CubeMX工程步骤、STM32CubeMX用户使用手册)
新建STM32CubeMX工程步骤1、工程初步建立 新建工程,选择芯片型号2、时钟模块配置 设置HSE、LSE、MCO3、时钟系统配置 PLL、SYSCLK、AHB、APB1、APB2等等4、GPIO引脚配置 以连接上LED灯的IO为例介绍如何配置5、Cortex内核配置 SYS( DEBUG )配置、NVIC(优先级分组)6、生成工程源码 设置工程,MDK等,最后生成代码工程7、编写用户程序 在main.c文件预留的位置编写代码原创 2024-01-26 15:28:10 · 17840 阅读 · 9 评论 -
【正点原子STM32】STM32启动过程浅析(MAP文件、STM32启动过程、启动模式、Reset_Handler函数、__initial_sp堆栈的起始地址、堆栈)
一、MAP文件浅析二、STM32启动过程三、总结参考资料:STM32 MAP文件浅析.pdf、STM32 启动文件浅析.pdf、Cortex-M3权威指南(中文).pdf路径:战舰 V4\资料\1,入门资料\STM32 MAP文件浅析.pdf、STM32 启动文件浅析.pdf 战舰 V4\资料\8,STM32参考资料\Cortex-M3权威指南(中文).pdfMAP文件(Memory Map File)是编译器生成的连接地图文件,提供了有关程序在内存中的布局信息。MAP文件包含了代码、数据、堆栈等原创 2024-01-26 07:23:30 · 1667 阅读 · 0 评论 -
【正点原子STM32】新建HAL库版本MDK工程
目标选项卡设置1、Target 选项卡 设置使用的编译器版本、外部晶振频率2、Output 选项卡 设置Objects输出文件夹、生成.hex文件、输出浏览信息3、Listing 选项卡 设置Listing输出文件夹4、C/C++ 选项卡 设置全局宏定义、优化等级、C99 Mode、设置头文件包含路径5、Debug 选项卡 设置使用的仿真器类型、选择的下载接口等6、Utilities 选项卡 设置下载功能、下载算法、下载算法起始地址和大小等7、Linker 选项卡(可选) 添加分散加载文件原创 2024-01-25 08:22:17 · 1374 阅读 · 0 评论 -
【正点原子STM32】认识HAL库(CMSIS、STM32Cube固件包、HAL库框架结构、使用HAL库、注意事项)
总体来说,HAL库是为了方便开发者快速上手和使用,但在一些特殊场景下,或者对性能要求较高的情况下,开发者可能需要深入了解硬件,直接操作寄存器或者考虑其他更底层的库。一些HAL库提供的API函数可能效率较低,特别是对一些特殊需求的外设控制。在需要更高效率的场景下,可以考虑直接操作寄存器的方式,以减少函数调用的开销。查阅ST的官方文档、社区、以及其他开发者的经验,以了解潜在的问题和解决方案。在选择库时,开发人员需要权衡易用性、兼容性、移植性和性能等方面的因素,以选择最适合其项目需求的库。原创 2024-01-25 08:21:54 · 3710 阅读 · 0 评论