logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

嵌入式内存详解:栈、堆、全局区和静态区分别存什么?

栈是一块按“后进先出”方式使用的内存区域。函数参数;局部变量;返回地址;CPU寄存器;中断现场;临时计算结果;函数调用链信息。FunctionA入栈↓FunctionB入栈↓FunctionC入栈↓FunctionC返回并释放↓FunctionB返回并释放↓FunctionA返回并释放栈空间会随着函数调用逐渐消耗,函数返回后逐渐恢复。堆是用于动态内存分配的区域。/* 分配失败 */return;/

#开发语言#嵌入式硬件#单片机 +1
Windows下从零搭建Git本地仓库并连接公司GitLab服务器:完整图形化操作指南

如果服务器先生成README,就会额外产生一套服务器提交历史,第一次Push可能出现非快进或历史不相关问题。【配图23:GitLab项目3 Commits、1 Branch、3 Tags】不要手动猜仓库地址,应以GitLab页面显示的Clone地址为准。Linux内核仓库文件多、体积大,首次Push可能需要几分钟。不是服务器,也不是固定关键字,而是远程仓库地址的常用别名。【配图1:Git Bash

#windows#git#gitlab +1
STM32启动过程详解:从上电复位到main,程序到底是如何从Flash运行起来的?

text通常保存程序机器指令。最终会被编译成 ARM Thumb 机器指令。FlashCPU 运行时直接从 Flash 取指执行。.rodata也就是只读数据。字符串和 const 常量通常不会在程序运行期间修改,因此通常可以直接保存在 Flash。speed有初始值的全局变量是允许的。所以speed运行时必须位于可以修改的 RAM 中。但是 RAM 掉电后内容会丢失。100从哪里来?答案是:初始

#stm32#javascript#嵌入式硬件
STM32时钟树怎么看?一步理解SYSCLK、HCLK、PCLK和外设时钟配置

所谓时钟树,就是描述:MCU内部各种时钟从哪里来、经过什么倍频和分频、最终送给哪些模块。HSI│HSE│▼PLL│▼SYSCLK││▼HCLK┌───┴───┐│ │APB1 APB2│ ││ │各类外设 各类外设所以看到CubeMX复杂的时钟树时,不需要一次把所有线都看懂。时钟源 → PLL → SYSCLK → HCLK → PCLK → 外设SYSCLK↓↓HCLKHCLK = SYSCLK

文章图片
#stm32#嵌入式硬件#单片机
STM32 DMA到底解决了什么问题?从CPU搬运数据到自动传输完整解析

可以触发半传输中断。可以触发全传输中断。DMA填充前半区↓半传输中断↓CPU处理前半区DMA继续填充后半区↓全传输中断↓CPU处理后半区这是一种典型的“乒乓处理”思想。DMA持续采集;CPU分块处理;减少数据停顿;降低缓冲区被覆盖的风险。Buffer ABuffer BDMA写Buffer ACPU处理Buffer BDMA写满Buffer A后切换到Buffer BCPU开始处理Buffer A

#stm32#单片机#嵌入式硬件
ADC采集结果为什么不稳定?硬件与软件原因及STM32排查方法详解

平均滤波;滑动平均;中值滤波;限幅滤波;IIR低通;过采样;卡尔曼滤波。ADC采集结果不稳定,不一定是ADC外设本身损坏。参考电压不稳定;ADC输入悬空;信号源阻抗过大;采样时间不足;缺少模拟滤波;电源和地线干扰;PCB布局不合理;输入电压超范围;多通道之间相互串扰。ADC时钟配置错误;采样周期太短;没有执行ADC校准;读取时序不正确;通道Rank和DMA顺序错误;缓冲区数据类型错误;整数计算溢出

#stm32#嵌入式硬件#单片机
定时器、计数器和 PWM 到底是什么关系?从工作原理到 STM32 实战详解

计数就是对一个个脉冲进行累加或递减。第1个脉冲到来:CNT = 1第2个脉冲到来:CNT = 2第3个脉冲到来:CNT = 3……第100个脉冲到来:CNT = 100这里的CNT可以理解为计数器当前保存的数值。如果脉冲来自单片机内部稳定的时钟,那么计数值就可以反映经过的时间。如果脉冲来自单片机外部引脚,那么计数值就可以反映外部事件发生的次数。因此,定时和计数的区别主要不在计数器本身,而在于:用来

#stm32#嵌入式硬件#单片机
# PID算法详解:从控制原理到STM32工程实现,彻底搞懂P、I、D三部分作用

假设:100℃100%50℃误差很大。增加输出但是:100%无法继续增加。越来越大当温度接近目标:积分还保持很大输出。温度超过目标产生严重超调。积分限幅抗饱和算法条件积分计算误差↓P快速纠正当前错误I消除长期偏差D预测变化趋势↓调整输出↓让系统稳定达到目标一句话总结:P负责速度,I负责精度,D负责稳定。在STM32、PLC、变频器、电机控制、温控系统以及工业自动化设备中,PID仍然是最经典、应用最

文章图片
#算法#stm32#嵌入式硬件
# 单片机进入 HardFault 后,如何找到真正出错的代码?——STM32/Cortex-M 故障定位实战

HardFault 并不是无法解决的“玄学故障”。PCLRSPCFSRHFSRMMFARBFARELF 文件MAP 文件addr2line反汇编调用链运行日志通常就能逐步接近真正的故障原因。工程中最重要的不是让设备在 HardFault 后立刻重启,而是:在重启之前,尽可能保存完整的崩溃现场。因为只有留下现场,才能真正解决那些偶发、随机、难以复现的嵌入式故障。

文章图片
#单片机#stm32#mongodb
到底了