![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stm32
文章平均质量分 75
饼干饼干圆又圆
这个作者很懒,什么都没留下…
展开
-
ADC定时采集上报数据
低功耗处理集中实现了各个独立模块的低功耗处理需求,并在系统进入空闲模式时管理这些低功耗任务。例如,当UART2的DMA用于向控制台打印数据时,系统不得进入低于睡眠模式的低功耗模式,因为DMA时钟在停止模式下关闭。每个需要低功耗管理的模块需要在utilitie_def.h中定义一个ID,最多可以定义32个ID。原创 2024-05-16 09:54:41 · 1003 阅读 · 0 评论 -
LoRa模块学习
LoRa(Long Range,远距离)是一种调制技术,与同类技术相比,提供更长的通信距离。调制是基于扩频技术,线性调制扩频(CSS)的一个变种,具有前向纠错(FEC)。LoRa显著地提高了接受灵敏度,与其它扩频技术一样,使用了整个信道带宽广播一个信号,从而使信道噪声和由于使用低成本晶振而引起频率偏移的不敏感性更健壮。LoRa 可以调制信号 19.5dB 低于底噪声,而大多数频移键控(FSK)在底噪声上需要一个 8-10dB 的信号功率才可以正确调制。原创 2024-05-10 09:26:39 · 1227 阅读 · 0 评论 -
Core_Air724UG学习
2哥标准2.54mm排针管脚,其中主要管脚已经全部引至外置排针,用户可以根据实际情况焊接单排或者双排的排针,方便用于在使用过程中核心板从座子上拔插下来,同时其它设备可以直接使用杜邦线连接,免去了模块布线的步骤,方便开发。Core_Air724UG核心板是基于Air724UG cat1模板制作的开发实验板。该模块支持Lua二次开发或AT指令,方便开发者根据自己的需求灵活选择。Core_Air724UG核心板专注于小型化,PCB尺寸42。46mm,有12x2。原创 2024-05-09 17:04:34 · 322 阅读 · 0 评论 -
气象多要素百叶箱
初始结构≥4字节的时间地址码=1字节功能码=1字节数据区=N字节错误校验=16位CRC码结束结构≥4字节的时间地址码:为变送器的起始地址,在通讯网络中是唯一的(出厂默认0x01)功能码:主机所发指令功能指示,本变送器只能用到功能码0x03(读取寄存器数据)。数据区:数据区是具体通讯数据,注意16bits数据高字节在前!CRC码:二字节的校验码。原创 2024-05-09 16:24:31 · 275 阅读 · 0 评论 -
STM32 ADC学习
实际电压值的计算公式为:采样值*参考电压/(1原创 2024-05-09 14:53:08 · 1154 阅读 · 0 评论 -
STM32 中断
抢占优先级(pre):高抢占优先级可以打断正在执行的低抢占优先级中断响应优先级(sub):当抢占优先级相同时,响应优先级高的先执行,但是不能互相打断抢占和响应都相同的情况下,自然优先级越高的,先执行自然优先级:中断向量表的优先级数值越小,表示优先级越高System configuration controller,即系统配置控制器,用于外部中断映射配置等。通过SYSCFG_EXTICR1~4,配置EXTI中断线0-15对应到哪个具体IO口。原创 2024-02-27 20:21:23 · 1345 阅读 · 0 评论 -
STM32 I2C学习
IIC:Inter Integrated Circuit,集成电路总线,是一种同步、串行、半双工通信总线。同步:需要时钟线串行:数据一位一位地发送半双工:同一时间只能接受或发送,不能同时发送或接收总线就是传输数据的通道协议就是传输数据的规则。原创 2024-02-27 11:14:51 · 1203 阅读 · 0 评论 -
STM32通用定时器输入捕获
要测量脉宽的高电平的时间:t2-t1=(脉宽下降沿时间点-脉宽上升沿时间点)假设:递增计数模式ARR:自动重装载寄存器的值CCRx1:t1时间点CCRx的值CCRx2:t2时间点CCRx的值产生捕获事件时,会让CNT的值转移到CCRx寄存器t1时要把CNT的值清0,同时把通道的边缘检测改为下降沿检测递增计数模式下,溢出条件:CNT==ARR,实际记得个数(ARR+1)高电平期间:计数器计数的个数:N*(ARR+1) + CCRx2计数频率:Ft/(PSC+1)原创 2024-02-26 19:28:27 · 1136 阅读 · 0 评论 -
STM32定时器
*外设寄存器基地址*//*定时器初始化结构体*/...原创 2024-02-26 09:47:52 · 1038 阅读 · 0 评论 -
嵌入式调试学习
Cortex-M内核含有硬件调试模块,该模块可在取指(指令断点)或访问数据(数据断点)时停止。内核停止时,可以查询内核的内部状态和系统的外部状态。完成查询后,可恢复程序执行。内核对外部来说提供两个接口,JTAG调试接口、SW调试接口,SWJ-DP端口。原创 2024-02-20 10:18:04 · 389 阅读 · 0 评论 -
Cortex-M4 线程切换
用于执行第一次线程切换。原创 2024-02-20 10:17:40 · 392 阅读 · 0 评论 -
Keil uVision中生成的Scatter-Loading描述文件
分散加载文件(scatter file)是一个文本文件,它的作用是可以描述ARM链接器生成映像文件所需要的信息。如果不使用 scatter file 文件来指定,那么 ARM 链接器会按照默认的方式来生成映像文件,但是对于某些应用场景来说,我们希望能够将一些数据放在指定的位置,这个时候,分散加载文件就发挥其作用了。ARM Cortex-M4系列芯片的启动流程:分散加载操作是在__main()函数内部完成的,紧接着,就运行C语言运行环境初始化&C Library的初始化。Code: 为程序代码部分。原创 2024-02-19 17:36:49 · 1184 阅读 · 0 评论 -
LM403-Pro-Kit数据手册
如上图所示,LM403-Pro-Kit评估板由ST-LINK、跳线、LM403模组、按键、LED以及天线接口等组成。USB连接PC即可以在线仿真、下载和串口打印调试输出、输入操作。控制LM403模组的电源与LDO的3.3V的通断。板子供电及ST-LINK与PC机连接的接口。J1跳线定义。原创 2024-02-08 14:46:41 · 882 阅读 · 0 评论 -
STM32启动过程浅析
初始化MSP:从0x0800 0000获取初始化PC:从0x0800 0004获取设置堆栈大小:Heap_Size(堆)、Stack_Size(栈)初始化中断向量表:__Vectors调用初始化函数:可选的,如调用:SystemInit函数调用__main:标准C库函数,执行一系列设置,最终调用main函数BLX R0BX R0ENDPEXPORT:标明全局属性,可被外部调用IMPORT:申明来自外部文件,类externPROC:定义子程序ENDP:表示子程序结束。原创 2024-02-08 09:42:15 · 1039 阅读 · 0 评论 -
STM32 新建寄存器版本MDK工程简要步骤
标准外设库(Standard Peripheral Libraries)HAL库(硬件抽象层):Hardware Abstraction LayerLL库:Low Layer直接操作寄存器:执行效率高、时间成本高标准库:F0/1/2/3/4L1,目前已停止维护HAL库:全系列兼容,ST目前主推的库,兼容性、易移植性LL库:全系列兼容,与HAL库捆绑发布,轻量级,效率高,不匹配部分复杂外设。原创 2024-02-06 15:30:33 · 1276 阅读 · 0 评论 -
STM32WLE5JC
sub-GHz无线电是一种超低功耗sub-GHz无线电,工作在150-960MHz ISM频段。在发送和接收中采用LoRa和(G)FSK调制,仅在发送中采用BPSK/(G)MSK调制,可以在距离、数据速率和功耗之间实现最佳权衡。这款sub-GHz无线电符合LoRaWAN®规范v1.0和无线电法规,如ETSI EN 300 220, EN 300 113, EN 301 166, FCC CFR 47 part 15, 24, 90, 101和ARIB STD-T30, T-67, T-108。原创 2024-02-05 20:11:13 · 1472 阅读 · 0 评论 -
STM32WLE5JC
ART加速器平衡了ARM Cortex-M4相对于闪存技术的固有性能优势,后者通常需要处理器等待更高频率的闪存。该保护区域是仅执行的:它只能被STM32 CPU作为指令码访问,而其他访问(DMA、调试和CPU数据读、写、擦除)都是严格禁止的。它的开发是为了提高一个满足MCU实现需求的低成本平台,具有减少的引脚数和低功耗,同时提供出色的计算性能和先进的中断响应。ARM Cortex-M4 32位RISC处理器具有卓越的代码效率,在通常与8位和16位设备相关的内存大小下提高ARM核心所期望的高性能。原创 2024-02-05 15:34:04 · 1128 阅读 · 0 评论 -
STM32WLE5JC
STM32WLE5/E4xx远程无线和超低功耗器件嵌入了强大的超低功耗LPWAN兼容无线电解决方案,支持LoRa®、(G)FSK、(G)MSK、BPSK。LoRa®调制仅适用于STM32WLx5xx。这些器件的设计功耗极低,基于高性能ARM Cortex-M4 32位RISC内核,工作频率高达48MHz。该核心实现了一套完整的DSP指令和一个独立的内存保护单元(MPU),提高了应用程序的安全性。原创 2024-02-04 17:33:55 · 1226 阅读 · 0 评论 -
STM32F4学习
存储器指可以存储数据的设备,本身没有地址信息,对存储器分配地址的过程称为存储器映射。32位的单片机有32根地址线(每根地址线有两种状态:导通或不导通)寄存器是单片机内部一种特殊的内存,可以实现对单片机各个功能的控制。寄存器是特殊的存储器,给寄存器地址命名的过程,就叫寄存器映射。CCM RAM:只能存数据,优点访问速度快,缺点不支持DMA。单片机内存地址访问的存储单元是按字节编址的(而不是bit)寻址范围:0x00000000~0xFFFFFFFF。存储器功能划分(F1为例),ST将4G(2。原创 2024-02-04 16:02:37 · 1332 阅读 · 0 评论 -
STM32L4学习
STM32Cube 是 ST 提供的一套性能强大的免费开发工具和嵌入式软件模块,能够让开发人员在 STM32 平台上快速、轻松地开发应用。图形配置工具STM32CubeMX。允许用户通过图形化向导来生成C语言工程。嵌入式软件包(STM32Cube库)。包含完整的HAL库(STM32硬件抽象层API),配套的中间件,以及一系列完整的例程。Drivers文件夹Drivers文件夹包含BSP,CMSIS和STM32L4xx_HAL_Driver三个子文件夹。原创 2024-02-04 09:18:55 · 1481 阅读 · 0 评论 -
STM32搭建开发环境
集成开发环境MDK:全名RealViewMDK,是Keil公司(已被ARM收购的)一款集成开发环境,界面美观,简单易用,是STM32最常用的集成开发环境EWARM:IAR公司的一款集成开发环境,支持STM32开发,对比MDK,IAR的使用人数少一些,用惯IAR的朋友可以选择这款软件开发STM32MDK安装=MDK软件安装+器件支持包DAP仿真器(CMSIS-DAP Debugger),DAP仿真器在MDK下是免驱动的(无需安装驱动),即插即用,非常方便。原创 2024-01-31 17:45:25 · 2368 阅读 · 0 评论 -
STM32学习
IO分配就是在完成最小系统设计以后,根据项目需要对MCU的IO口进行分配,连接不同的器件,从而实现整体功能。最小系统就是保证MCU正常运行的最低要求,一般是指MCU的供电、复位、晶振、BOOT等部分。比如:GPIO、IIC、SPI、SDIO、FSMC、USB、中断等。STM32复位引脚NRST保持低电平状态时间1~4.5ms即可复位。原创 2024-01-30 18:14:03 · 1371 阅读 · 0 评论 -
Cortex-M系列介绍
ARM公司:只做内核设计和IP授权,不参与芯片设计。ST:意法半导体 M:MCU/MPU 32:32位。原创 2024-01-30 14:37:18 · 454 阅读 · 0 评论 -
Cortex-M4外设
处理器在异常入口时自动堆叠其状态,在异常出口时自动解除堆叠,没有指令开销。这提供了低延迟异常处理。如果中断未启用,断言其中断信号将中断状态更改为挂起,但NVIC永远不会激活中断,无论其优先级如何。软件可以读取MPU类型寄存器0xE000ED90,以测试是否存在内存保护单元(MPU)。NVIC_ISER0~NVIC_ISER7寄存器使能中断,并显示哪些中断是使能的。如果一个挂起的中断被启用,NVIC会根据它的优先级激活这个中断。本节描述NVIC及其使用的寄存器。[31:0]:中断设置使能位。原创 2024-01-27 09:14:30 · 521 阅读 · 0 评论 -
Cortex-M4处理器 电源管理
Cortex-M4处理器的休眠模式可以降低功耗。如果设备实现了两种提供不同级别省电的睡眠模式,那么SCR的SLEEPDEEP位将选择使用哪种睡眠模式。原创 2024-01-26 15:39:24 · 491 阅读 · 0 评论 -
Cortex-M4处理器 故障处理
通常,异常优先级与异常掩码寄存器的值一起决定处理器是否进入故障处理程序,以及一个故障处理程序是否可以抢占另一个故障处理程序。在某些情况下,具有可配置优先级的故障被视为HardFault。这被称为优先级升级,故障被描述为升级到HardFault。原创 2024-01-26 11:22:25 · 509 阅读 · 0 评论 -
Cortex-M4处理器 系统异常
如果发生的异常与被处理的异常具有相同的优先级,则处理程序不会被抢占,而与异常编号无关。处理器可以接受延迟到达的异常,直到原始异常的异常处理程序的第一条指令进入处理器的执行阶段。如果在异常进入期间发生另一个更高优先级的异常,则处理器开始执行该异常的异常处理程序,并且不更改先前异常的挂起状态。如果在异常进入期间没有更高优先级的异常发生,处理器开始执行异常处理程序,并自动将相应的挂起中断的状态改为活动。当处理器执行异常处理程序时,如果异常处理程序的优先级高于正在处理的异常的优先级,则异常可以抢占异常处理程序。原创 2024-01-26 10:55:26 · 1149 阅读 · 0 评论 -
Cortex-M4 处理器 内存模型
如果处理器是多处理器系统的一部分,系统还全局标记由每个处理器独占访问寻址的内存位置。对于大多数由显示内存访问指令引起的内存访问,内存系统不保证访问完成的顺序与指令的程序顺序相匹配,只要这个不会影响指令序列的行为。在字节不变大端格式中,处理器将字的最高有效字节存储在编号最低的字节中,将最低有效字节存储在编号最高的字节中。通常,如果正确的程序执行取决于两个内存访问按程序顺序完成,软件必须在内存访问指令之间插入一个内存屏障指令。否则,如果内存访问的顺序是关键的,软件必须包含内存屏障指令来强制该顺序。原创 2024-01-25 17:27:03 · 1038 阅读 · 0 评论 -
Cortex-M4 处理器
通过支持模板代码的重用和来自各种中间件供应商的符合CMSIS的软件组件的组合,CMSIS简化了软件开发。软件供应商可以扩展CMSIS以包含他们的外设定义和这些外设的访问功能。原创 2024-01-25 15:30:38 · 991 阅读 · 0 评论 -
关于Cortex-M4处理器和核心外设
系统外围设备的紧密集成减少了面积和开发成本Thumb2指令集结合了高代码密度和32位性能可选配符合IEEE754标准的单精度FPUROM系统更新的代码补丁能力系统组件的功率控制优化集成睡眠模式,降低功耗快速代码执行,允许减慢处理器时钟或增加睡眠模式时间面向乘法积累的硬件除法和快速数字信号处理信号处理中的饱和算法确定性,高性能中断处理关键应用程序可选内存保护单元(MPU),用于关键安全应用。原创 2024-01-24 14:26:48 · 1267 阅读 · 0 评论 -
Cortex-M3与M4权威指南
许多系统特性,如中断输入的数量、支持的中断优先级的数量和MPU也是可配置的。例如,要增加存储在SRAM中的数据值,处理器需要使用一条指令从SRAM读取数据并将其放入处理器内部的寄存器中,第二条指令增加寄存器的值,然后第三条指令将该值写回内存。在Thumb状态下,指令是16位的,提供了很好的代码密度,但Thumb指令不具备ARM指令的所有功能,可能需要更多的指令来完成某些类型的操作。经典的ARM处理器,例如ARM7TDMI,处理器有两种运行状态:一个32位的ARM状态和一个16位的Thumb状态。原创 2024-01-24 10:31:41 · 2186 阅读 · 0 评论 -
Cortex-M3与M4权威指南——嵌入式软件开发概论
首先,我们假设您正在使用C编程语言开发项目。这是微控制器软件开发中最常用的编程语言。我们的项目可能还包含一些汇编语言文件;例如,微控制器供应商提供的启动代码。C编译器:将C程序文件编译成目标文件汇编器:将汇编代码文件汇编成目标文件链接器:将多个目标文件连接在一起并定义内存配置的工具Flash编程器:将编译后的程序映像编程到微控制器的闪存中的工具调试器:一种工具,用于控制微控制器的操作和访问内部操作信息,以便检查系统状态和检查程序操作模拟器:允许在没有实际硬件的情况下模拟程序的执行。原创 2024-01-23 09:47:14 · 1347 阅读 · 0 评论 -
Cortex-M3与M4权威指南
嵌入式市场正在发生一场大革命:现在大多数新的微控制器都基于ARM架构,特别是流行的Cortex-M3和Cortex-M4处理器。许多设备都将基于Cortex-M3和Cortex-M4微控制器,可能只使用一个小电池甚至能量收集作为电源。今天使用基于ARM Cortex-M3和Cortex-M4处理器的设备是很简单的,因为有大量的开发工具、调试实用程序和许多示例项目可用。然而,编写高效的应用程序可能需要对硬件架构和软件模型有深入的了解。原创 2024-01-22 15:31:36 · 1631 阅读 · 0 评论 -
STM32WLE5JC学习
这些低功耗定时器有一个独立的时钟和运行在停止模式,如果他们的时钟来自LSE,LSI,或由外部时钟。USART能够以高达4 Mbit/s的速度进行通信,并且还提供智能卡模式(ISO 7816兼容)和类似spi的通信能力。IWDG既可以用作看门狗,在出现问题时重置设备,也可以用作应用程序超时管理的空闲运行计时器。只要电源电压保持在工作范围内,无论设备状态(运行模式、低功耗模式或复位),RTC都不会停止。由于IWDG独立于主时钟运行,它可以在停止和待机模式下运行。LPTIM1可以在停止0,停止1和停止2模式下。原创 2024-01-22 10:05:45 · 562 阅读 · 0 评论 -
STM32WLE5JC 低功耗模式
PKA用于计算加密公钥原语,特别是与RSA (Rivest, Shamir和Adleman), Diffie-Hellmann或ECC(椭圆曲线加密)在GF§(伽罗瓦域)上相关的原语。传感器提供良好的线性,但它必须校准,以获得良好的整体精度的温度测量。为了改善复位下的消耗,复位下和复位后的I/O状态为“模拟状态”(I/O斯密特触发器被禁用)。这些器件包括一个高级16位定时器,一个通用32位定时器,两个16位基本定时器,三个低功耗定时器,两个看门狗定时器和一个SysTick定时器。原创 2024-01-22 08:43:29 · 1200 阅读 · 0 评论 -
STM32WLE5JC介绍
STM32WLE5/E4xx远程无线和超低功耗器件嵌入了强大的超低功耗LPWAN兼容无线电解决方案,支持以下调制:LoRa,(G)FSK,(G)MSK和BPSK。LoRa®调制仅适用于STM32WLx5xx。这些器件被设计为功耗极低,基于高性能ARM Cortex-M4 32位RISC内核,工作频率高达48MHz。该核心实现了一套完整的DSP指令和一个独立的内存保护单元(MPU),提高了应用程序的安全性。原创 2024-01-18 10:49:51 · 1260 阅读 · 0 评论 -
STM32系统架构
Cortex-M内核以及调试系统由ARM公司设计,并授权给芯片制造厂商。CCM RAM:只能访问数据,优点访问速度快,缺点不支持DMA。MCU厂商,经ARM公司授权,添加不同的外设=各种xx32芯片。ICode总线直接连接Flash接口,不需要经过总线矩阵。主动单元可以主动发起通信或指令,但被动单元不能。AHB:高级高性能总线,APB:高级外围总线。由芯片制造商设计开发芯片。8个主控总线+7个被控总线。原创 2024-01-17 10:24:21 · 511 阅读 · 0 评论 -
STM32WL用户手册学习
STM32Cube是意法半导体的原创产品,通过减少开发工作量、时间和成本来显著提高开发人员的生产力。STM32Cube涵盖了整个STM32产品组合。一套用户友好的软件开发工具,涵盖项目开发从设计到生产,其中STM32CubeMX,一个图形软件配置工具,允许使用图形向导自动生成C初始化代码。STM32CubeProgrammer (STM32CubeProg), 一个具有图形和命令行界面的编程工具。原创 2024-01-15 20:18:39 · 500 阅读 · 0 评论 -
LM403-JC模组硬件学习
电源开关:控制LM403模组的电源与LDO的3.3V的连通。MicroUSB:板子供电及ST-LINK与PC机连接的接口。原创 2024-01-15 09:54:49 · 924 阅读 · 0 评论 -
STM32 IAP学习
跳转到复位中断服务函数跳转到main函数发生中断时,会强制跳转到中断向量表根据中断源,跳转到对应的中断服务函数执行中断服务程序后,回到main函数原来的位置执行。原创 2024-01-06 09:32:46 · 363 阅读 · 0 评论