- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 MCU HardFault学习小记(二)——基于Arm Cortex-M系列
在MCU HardFault学习小记(一)——基于Arm Cortex-M系列中介绍了HardFault问题的背景和解决HardFault问题所需的理论知识,并介绍了两种HardFault分析法。本文将介绍两个HardFault实例现场,分别采用栈回溯法和CmBackTrace法对其进行分析,最后比较两种方法间的差异。
2023-07-02 12:24:21
995
2
原创 MCU HardFault学习小记(一)——基于Arm Cortex-M系列
HardFault(硬件错误)是一类在嵌入式系统开发中较为常见的系统异常,优先级仅低于复位和NMI(不可屏蔽中断)。当系统运行过程中遇到了某些错误时程序就会跳转至HardFault_Handler函数中,引发程序故障进而影响程序的正常运行。本文介绍了HardFault问题的背景和解决HardFault问题所需的理论知识,并在此基础上介绍了两种HardFault问题的查找和分析法。
2023-07-01 17:38:10
4052
2
原创 Obsidian开荒
笔者之前一直用OneNote来整理记录笔记,工作过程中用Notion网页版来进行记录。在使用OneNote的过程中也遇到了诸多不顺手的地方,如代码块插入、字体一致性等(此处省略一万字…)。最近一直在挑选合适的笔记软件,在比较了网易云笔记,印象笔记等诸多主流笔记软件后,最终选择了的策略为Obsidian + Notion + Git。
2023-05-04 22:07:24
1941
原创 Linux程序设计—多进程编程
1、进程1.1、创建进程1.1.1、fork()1.1.2、vfork()1.2、执行进程——exec函数族1.3、进程退出1.3.1、exit()和_exit()1.4、进程回收1.4.1、僵尸进程1.4.2、wait()1.4.3、waitpid()2、写在最后
2022-11-04 16:31:45
2645
原创 I2C总线和SPI总线的异同点
内部总线、系统总线、外部总线的概念总线通信的基本概念I2C和SPI的经典物理层结构I2C总线与SPI总线的区别I2C总线和SPI总线的共同点
2022-05-11 09:47:43
10469
2
原创 PulseSensor开发文档(二)动态阈值算法获取心率值
1、摘要在上一篇文章中:具体介绍了如何用DMA和ADC采集心电数据并上传到上位机。在采集到心电数据后,紧接着微型处理器需要做的就是将数据转换成为可分析的生理指标——心率。顾名思义,心率指的就是一分钟内的心跳次数。计算心率的传统方法是计时一分钟,测量出一分钟内产生了多少次脉搏。这种做法的缺点十分明显,一是效率极低,每次更新心率测量的时间间隔非常长,二是容易解析失误,可能会忽略某些关键数据点。为了解决这种方式的弊端,本篇文章将介绍一种心率解析算法:动态阈值算法,用以从采样的心电信号中解析出实时心率,并且将实时
2022-04-28 11:47:55
6122
7
原创 STM32 GPIO的8种工作模式与应用场合
1、GPIO的全称是General-purpose input/output,意为通用输入/输出接口,PIN脚依现实考量可选择通用输入模式(GPI)通用输出模式(GPO)以及通用输入输出模式(GPIO),在STM32中,GPIO的工作模式被细分为8种,由4个32位寄存器共同控制。2、GPIO端口的硬件结构框图如下图所示:需要注意的是:在下文中并不会对GPIO各个工作模式电路的工作原理进行详细解析,而是着重分析各个模式的特点和在不同场合下的具体应用。3、GPIO的结构决定了GPIO可以被配置成以下模式
2022-04-02 13:02:20
16543
原创 STM32时钟树分析(基于STM32F1系列)
1、STM32F1的RCC(reset clock control 复位和时钟控制器)结构框图如下图所示:2、上图说明了STM32时钟的走向,从左至右地,时钟源经过一步步地倍频,分频最终将时钟信号输出给外设时钟。需要注意的是,在STM32中一共有4个基本时钟源(见上图红色箭头),它们分别是:HSI:高速内部时钟信号,由内部RC振荡器产生,通常频率为8MHZ,但相较于外部时钟不稳定;HSE:高速外部时钟信号,可以由有源晶振或无源晶振提供,频率从4~16MHZ不等,通常频率为8MHZ,从上述系统框图中
2022-03-31 10:36:42
4242
原创 PulseSensor开发文档(一)DMA ADC数据采集
1、PulseSensor简介2、DMA简介以及其在PulseSensor开发中的配置3、ADC简介以及其在PulseSensor开发中的配置
2021-11-26 09:25:30
9585
1
原创 基于51单片机和MQ135的室内空气检测净化系统设计
前言:设计了一个基于51单片机的室内空气净化系统,选用单片机型号为STC89C52,外挂一块字符型液晶显示屏lcd1602,外部模拟量采集接口与空气检测传感器MQ135相连接。空气净化部分搭载一个小功率直流电机,电机与一个排气扇相连接。通过对采集的数据进行一系列的转换变成空气浓度(ppm)值,并与阈值进行比较,如果超出阈值则会发出蜂鸣声警报并且排气扇会开始工作,阈值的具体数值可以根据需要在程序中或者通过单片机上的独立按键进行调整。...
2021-07-09 12:19:11
18722
21
原创 Windows中关于keil4工程默认打开方式为keil5,以及打开现有工程后默认显示上一个已编辑工程的解决办法
背景:在学习stm32,采用keil5一段时间之后,有一次为了温习先前学习的51单片机的内容,打开了之前创立的keil4工程,却发现其默认打开方式已经变成了keil5并且更改打开方式为keil4后仍无法解决,这里提供一种可能解决上述问题的办法。进入正题如何让原本的keil4工程变回默认从keil4打开呢?一种可能导致该问题的原因是keil4和keil5的安装路径重叠或者重装系统导致先前的注册表文件丢失或改变等等,总之这篇文章的解决办法都是基于修改注册表内容的。打开任务管理器—>文件—>运
2021-05-27 23:27:12
5934
6
Pulsesensor stm32心率程序
2021-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人