- 博客(36)
- 收藏
- 关注
原创 状态机详解
是一种数学模型,用于表示有限个状态以及在这些状态之间的转移和动作。在计算机科学中,状态机被广泛用于建模程序的行为,特别是那些需要根据输入或事件改变状态的系统。
2025-10-22 21:20:01
366
原创 STM32网关搭建保姆教程!!!(代码方面)
W5500的核心价值在于它通过。这意味着你的主控MCU(如STM32、Arduino等)无需运行复杂的软件协议栈(如lwIP),只需通过简单的SPI接口指令,就能让W5500处理所有繁琐的网络协议(如TCP, UDP, ICMP, IPv4, ARP等)数据包。这极大地,并。
2025-10-21 07:54:52
670
原创 52Hz——STM32单片机学习记录——定时器
CTRL(SysTick控制和状态寄存器) 说明:关于CLKSOURCE位,当0时,时钟频率是AHB/8;当1时,时钟频率是AHB。LOAD(SysTick重装载寄存器)VAL(SysTick当前数值寄存器)案例(每一毫秒触发一次中断)案例输出比较输入捕获
2025-10-08 16:38:21
788
原创 52Hz——FreeRTOS学习笔记——信号量
信号量是一种用于任务间同步和资源管理的机制。它就像一个令牌管理站,任务要执行某个操作或访问某个资源之前,必须先获取信号量(拿到令牌),使用完毕后释放信号量(归还令牌)。
2025-09-24 20:20:57
831
原创 52Hz——FreeRTOS学习笔记——消息队列
是一种核心的,用于之间或与之间。队列基于先进先出(FIFO)原则工作,确保数据按顺序处理。队列不仅可以传输简单数据类型(如整数、指针),还可以传输复杂数据结构(如结构体),非常适合在实时嵌入式系统中实现高效的数据共享和同步。FreeRTOS队列设计灵活,支持阻塞和非阻塞操作,适用于各种场景。
2025-09-24 01:28:42
317
原创 52Hz——FreeRTOS学习笔记——调度器的挂起与恢复
挂起调度器,上下文切换就不在执行,这样一来也能保证当前任务的原子性,也就是不被其他任务打断。
2025-09-23 20:36:16
231
原创 52Hz——FreeRTOS学习笔记——进/出临界区
临界区是一段必须原子性执行的代码,在这段代码执行期间,不会被其他任务或中断打断。原子性操作原子性操作是指一个或多个操作不可被中断的执行单元。这些操作要么全部完成,要么全部不执行,不存在"执行了一半"的中间状态。
2025-09-23 20:21:37
384
原创 52Hz——FreeRTOS学习笔记——任务的创建
时,必须创建一个空闲任务。这个任务在没有任何其他任务运行时工作,进行内存清理等维护工作。函数来为空闲任务提供必要的内存块。FreeRTOS 在启动调度器 (
2025-09-23 19:10:38
284
原创 52Hz——FreeRTOS学习笔记——FReeRTOS移植遇到的问题
FreeRTOS中的实际函数名#define映射后中断作用对FreeRTOS的重要性启动调度器,开始执行第一个任务关键,没有它调度器无法正确启动。执行实际的任务上下文切换核心,所有多任务切换都发生在这里。提供系统时钟节拍,驱动任务调度基础,没有它系统就失去了“心跳”,无法进行基于时间的调度。你的代码编译时,编译器看到的是等CMSIS名称。预处理器在编译之前,根据中的#define指令,将FreeRTOS源码中所有的都替换成了。因此,FreeRTOS的SysTick处理函数现在“拥有”了标准的。
2025-09-23 18:53:36
980
原创 52Hz——FreeRTOS学习笔记
一个资源管理者:高效、公平、安全地分配和管理硬件资源。一个抽象层:隐藏硬件细节,向上提供一个清晰、简洁、统一的虚拟机接口。一个服务提供者:通过系统调用为应用程序提供各种基础服务。通用操作系统 (GPOS)核心价值“做得更多”(Do more)“按时完成”思维模式资源共享与公平资源预留与保证适用场景功能复杂、资源丰富的通用计算平台功能专一、资源紧张、时限严格的嵌入式控制领域核心思想:选择RTOS不是因为它的速度快,而是因为它的行为是可知、可控、可预测的。在嵌入式系统中,
2025-09-22 20:06:38
1897
原创 01 定位器项目笔记——知识复习回顾
这些名词是如何协同工作的?你在浏览器输入URL浏览器询问DNS服务器,将域名解析成IP地址。浏览器与服务器通过SSL/TLS协议进行安全握手,建立一条加密通道,开始使用HTTPS协议通信。HTTPS的请求和响应数据被拆分成多个段,通过TCP协议可靠地传输(三次握手、确认、重传)。TCP段被包装上IP包头,通过路由器在网络中一跳一跳地路由到目标IP地址。在本地网络中,通过MAC地址进行设备间的最终投递。服务器处理请求后,将网页数据(如HTML)返回,这个过程可能用到CDN来加速静态资源的传输。
2025-09-21 19:06:24
787
原创 52Hz——STM32单片机学习记录——FSMC
就是为CPU的整个可寻址空间(例如32位CPU的4GB空间)制定一个规划图,将不同的物理设备(如Flash、RAM、寄存器)分配到这个规划图中的特定地址范围。这是通过将设备的功能寄存器(如LCD的命令/数据寄存器)映射到不同的FSMC地址来实现的。:基于硬件的信号生成确保了时序的精确性和高速度(可达数十MHz),其性能是软件模拟无法企及的,尤其适用于GUI帧缓冲、大数据块传输等高速应用场景。会自动在对应的物理引脚上产生出所有精确的、符合存储器协议的控制时序(地址、片选、写使能、数据等)。
2025-09-03 23:46:12
656
原创 52Hz——STM32单片机学习记录——USART串口通讯
协议传输方式数据传输方向同步方式特点与应用UART串行全双工(TX和RX独立)异步简单,两根线,需要约定波特率,用于设备间点对点调试。I2C串行半双工同步两根线(SDA数据线 + SCL时钟线),支持多主多从,地址寻址,用于连接板内低速外设(传感器、EEPROM)。SPI串行全双工同步四根线(MISO, MOSI, SCLK, CS),高速,简单高效,用于连接Flash、SD卡、显示屏等高速设备。USB串行半双工(差分对)同步协议复杂,高速,主从结构,即插即用,用于连接外部设备。CAN串行。
2025-08-21 11:24:20
712
原创 52Hz——STM32单片机学习记录——中断系统
STM32的中断系统是其核心功能之一,它让处理器能够高效地响应内部和外部的事件,而不是不断地查询(Polling)状态。理解中断系统对于进行STM32裸机编程或RTOS开发都至关重要。:工程师按照任务清单(主循环main())顺序工作。:突然,电话响了(外部事件),快递来了要签收(内部事件),这些都需要他。:工程师手头的工作,在任务清单上做个记号(),然后去处理电话或签收快递(:处理完后,他回到工位,找到刚才的记号,之前被打断的工作(STM32的中断系统就是这套高效的“事件响应机制”。
2025-08-20 20:15:35
1655
原创 52Hz——STM32单片机学习记录——总体架构和时钟系统
这是一个重要知识点:虽然APB1的时钟PCLK1只有36MHz,但如果你看到定时器(如TIM2-TIM7)的时钟是72MHz,那是因为当APBx的分频系数不为1时,定时器连接的时钟会自动x2,以保证定时器的性能。它接收8MHz的HSE,通过9倍频(8MHz x 9 = 72MHz),产生出72MHz的系统时钟(SYSCLK)。:高性能系列(如F7/H7)会有多块SRAM(如ITCM, DTCM, AXI SRAM, AHB SRAM),用于不同的数据路径,进一步优化性能。:这是它的核心功能。
2025-08-20 18:45:32
996
原创 52Hz——STM32单片机学习记录——GPIO
特性推挽输出 (Push-Pull)开漏输出 (Open-Drain)硬件结构P-MOS + N-MOS 互补对仅N-MOS(漏极开路)输出能力主动驱动高/低电平仅主动拉低电平,高电平需外部上拉外部电路无需外部元件必须外接上拉电阻(典型值4.7kΩ)电平兼容性仅支持VDD电平(如3.3V)支持电平转换(上拉至5V/12V等)驱动能力强源电流(输出电流) + 强灌电流强灌电流(吸收电流)总线冲突风险❌ 多设备并联易短路✅ 支持"线与"逻辑(如I²C多主机仲裁)HAL库配置模式(通用)
2025-08-18 08:11:32
806
原创 52HZ——51单片机学习记录——I2C总线
EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)是一种非易失性存储器(断电后仍能保留数据),可以多次写入和擦除数据。EEPROM广泛应用于需要永久存储数据的电子设备中, 常用于存储设备工作模式、用户偏好设置等信息。
2025-08-12 21:00:57
727
原创 52HZ——51单片机学习记录——OLED模块_I2C协议
OLED(Organic Light-Emitting Diode,有机发光二极管)显示屏由许多微小的发光二极管构成,每个发光二极管就对应着屏幕上的一个像素,通过控制二极管的亮灭就能在屏幕上显示图像或文字。每次只能点亮一行或者一列,需要快速的逐行或者逐列扫描来显示内容。屏幕上的每个像素点都有一个单独的控制电路,可以独立进行控制。本文中使用的是,其分辨率为市面上的多数OLED显示屏都会带有,驱动芯片的,此外它还会,用于。驱动芯片的存在使得我们可以通过简单的接口控制OLED显示屏,大大简化了开发和控制流程。
2025-08-07 22:11:43
1466
原创 ASCALL码表
ASCII表中共有128个字符,其中0-31和127为控制字符,不可显示。32-126为可显示字符,如下表,其中48-57为0到9十个阿拉伯数字;65-90为26个大写英文字母,97-122号为26个小写英文字母,其余为一些标点符号、运算符号等。
2025-08-07 21:47:10
1100
原创 52HZ——51单片机学习记录04——中断系统
计算机系统中由硬件触发软件处理的异步事件响应机制。当内部异常或外部设备请求服务时,CPU暂停当前任务,通过硬件自动跳转到预设的处理程序(ISR),执行完毕后再恢复原任务执行。中断系统工作的大致流程如下图所示:中断系统使单片机能够实时响应外部事件,提高了系统的灵活性和响应能力。中断源中断源是指能够引发中断的事件。中断标志位中断标志位用于标识某个中断是否发生,每个中断源都有一个与之对应的中断标志位。当某个中断发生时,相应的中断标位就会置为1,当CPU检测到标志位时,就会处理相应的中断。
2025-08-06 10:07:07
681
原创 52HZ——Linux学习笔记01 目录结构
一句很重要的话: 在linux中,一切皆为文件!!!主要目录列表(基于标准知识):/: 根目录/bin: 基本命令二进制文件/boot: 启动相关文件/dev: 设备文件/etc: 系统配置文件/home: 用户主目录/lib: 共享库文件/mnt: 挂载点/opt: 可选应用软件包/proc: 进程信息/root: root用户主目录/sbin: 系统二进制文件/tmp: 临时文件/usr: 用户程序/var: 可变数据文件。
2025-07-31 11:52:11
920
原创 52HZ——51单片机学习记录02——开发环境
51单片机(或称8051单片机)原是指1980年由Intel公司推出的一种8位微控制器系列,现在更多的指实现了8051指令集(单片机的“语言”)的一系列单片机。STC89C52RC-40I-LOFP44共有44个引脚,各引脚的功能如下图所示。国芯论坛 - AI32位8051交流社区STC89C52RC-40I-LQFP44中文资料_最新报价_数据手册下载_STC-单片机(MCU/MPU/SOC)-立创商城。
2025-07-31 09:00:00
679
原创 52HZ——51单片机学习记录01——入门介绍
由Intel于1980年推出。因其高性价比和稳定性能,专利授权给多家厂商(如Atmel、STC、NXP等),形成庞大的兼容产品家族,统称为MCS-51系列或51单片机。我们可以编写一些代码并将其存储在这个芯片内。例如,我们可以控制它的某个引脚在5V和0V之间切换,再将一个LED灯连接到这个引脚上,这样就能实现LED灯的闪烁效果。这种操作使得51单片机非常适用于各种电子控制项目。
2025-07-24 08:21:06
952
原创 电路基础入门笔记-01
零线通常用字母N表示。过载保护是指当电路中的电流超过额定值但未达到短路电流时,保护装置(如断路器或熔断器)自动切断电路,以防止电气设备因长时间过电流而损坏。要注意的是,我们日常所说的市电电压为220V,指的是市电电压的有效值,也就是均方根值(RMS)。:在同一个插座上同时使用电热水壶(1500W)和微波炉(1200W),总功率达到2700W,远超220V/10A线路的最大承载能力2200W,导致电线过热、断路器跳闸。根据国际单位制(SI),电流的定义为单位时间内通过导体横截面的电荷量,其单位是安培(A)。
2025-07-18 18:54:48
771
原创 算法学习之路ACWING——前缀和、差分
与是两种用于高区间查询和效处理数组修改的算法技巧,前缀和通过预处理快速计算区间和,差分通过记录变化点实现批量修改。
2025-07-08 20:22:01
808
原创 算法学习之路ACWING 03二分(数的范围)
对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。第二行包含n个整数(均在1~10000范围内),表示完整数组。给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。接下来q行,每行包含一个整数k,表示一个询问元素。如果数组中不存在该元素,则返回“-1 -1”。第一行包含整数n和q,表示数组长度和询问个数。如果数组中不存在该元素,则返回“-1 -1”。
2025-07-02 20:20:47
137
原创 数据结构01—————线性表
定义:线性表是具有相同特性的数据元素的一个有限序列,如:其中a1至an皆为数据元素, 线性起点(起始结点)是a1 , 线性终点(终端结点)是an。ai-1为ai的直接前驱,ai+1为ai的直接后继。n = 0时称线性表为空表。同一线性表中的元素必定具有相同特性,数据元素间的关系是线性关系。有且仅有一个开始节点a1,它仅有一个直接后继;有且仅有一个终端结点an,它仅有一个直接前驱;其余内部结点都有且仅有一个直接前驱和一个直接后继。线性表是一种典型的线性结构。抽象数据类型线性表的定义:ADTList{
2025-06-28 08:24:58
662
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅