自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Git的回滚方法

你想回滚到哪个具体的提交?

2025-11-30 19:54:05 264

原创 Git的工作机制

对于二进制文件(如图片、编译产物),Git 无法进行差异分析,所以会完整存储每个版本。这就是为什么建议不要在 Git 中存放大型二进制文件。Git 是一个智能的版本控制系统,而不是简单的文件备份工具。这正是它比直接复制文件夹高效得多的原因。假设你有一个 100KB 的文件,第一次提交时 Git 会完整保存。Git 会比较文件的变化,只存储。,而不是整个文件的完整副本。

2025-11-30 19:34:52 348

原创 rt-thread信号量与互斥量

2. 编译运行后的效果在串口终端输入命令:当你按下按键时,会看到:3. 信号量在这里的作用🔘 按键中断:检测到按键按下 → 💡 LED线程:等待信号量 → → 处理LED切换就像门铃一样:运行效果:5. 总结这两个例程展示了信号量最常用的两种场景:信号量的核心作用:让一个线程等待某个事件发生,当事件发生时立即被唤醒执行任务。

2025-11-06 16:54:37 303 2

原创 串口打印字符串

【代码】串口打印字符串。

2025-10-18 13:55:20 203

原创 sprintf不是像printf一样的打印函数吗

printf:是「打印」函数,输出到屏幕。用于显示。sprintf:是「字符串格式化写入」函数,输出到内存缓冲区。用于构建和保存字符串。它们就像同一个工厂的两条生产线,使用相同的格式化技术(%d%s等),但最终把产品送到了不同的地方。理解这个「输出目的地」的区别是理解它们的关键。

2025-09-10 15:51:44 448

原创 位置式PI控制器当控制误差为0时最终的输出项来自于积分项

对于位置式PI控制器,当系统达到稳态且控制误差e(t)长期为0时,。比例项(P项)在误差为0时,其贡献也为0。

2025-09-08 17:04:29 814 1

原创 OS基础笔记

在头文件(如。

2025-08-11 14:29:01 507

原创 W25Q编程指南

通过理解这些层级关系和操作规则,可以高效可靠地使用W25Q系列Flash存储数据。A4: 硬件设计限制。跨页写入会从当前页首地址开始覆盖,导致数据丢失。覆盖会导致数据错误(例如原数据。)的BUSY位,或延时等待(参考芯片手册时序)。A1: Flash物理特性限制,只能将。擦除操作将所有位重置为。A3: 读取状态寄存器(,为写入提供干净空间。

2025-07-23 13:25:57 717

原创 stm32f030f4p6读写内部flash

* 数据段起始 *//* 数据段结束 *//* 代码段结束 */// 确保地址在Flash范围内// 确保地址在程序代码区之后。

2025-07-16 16:07:56 1088 3

原创 STM32的Pack包下载地址

https://www.keil.arm.com/devices/

2025-07-16 13:21:28 155

原创 TLI5012B E1000读取绝对角度信息

直接输出 0°~360° 的绝对角度值。**TLI5012B E1000 是一款基于 GMR(巨磁阻)技术的。(0x0000~0x8FFF,对应 0°~360°),分辨率。(减少延迟)或结合 IIF 接口实时跟踪角度变化。,校验通信状态(如 CRC、错误标志)。如需更高速或冗余方案,可启用。(实际有效位 15 位)。

2025-07-01 20:53:36 680

原创 STM32F4三重adc同步注入模式+TIM1通道4触发

参考:https://blog.youkuaiyun.com/y2915688391/article/details/144123106?

2025-06-21 17:18:15 691

原创 STM32F4xx.h文件中对寄存器位操作

这些宏在嵌入式开发中非常有用,特别是在操作微控制器的寄存器时,可以简化代码并提高可读性。的值(返回非0表示该位为1,0表示该位为0)。检查STATUS寄存器的第2位是否为1。先清除低4位,然后设置低2位为1。中最高有效位的位置(从0开始计数)。将PORT寄存器的第3位置1。将PORT寄存器的第3位清0。将0xFF写入DATA寄存器。读取COUNTER寄存器的值。将CTRL寄存器所有位清0。

2025-06-17 10:46:31 372

原创 我现在需要用2个adc对两个通道进行同时采样,那我可以把这两个adc都配置为独立模式吗

(即使同时触发,由于硬件调度和启动延迟,采样时刻可能有微小偏差)。STM32F4的双ADC模式提供了。,确保两个ADC在同一时刻采样。,并询问是否可以配置为。如果两个ADC都配置为。

2025-06-17 10:40:29 601

原创 RT_thread资料查询位置

函数的作用和用法,并给出中文示例。“请解释 RT-Thread 中。,结合社区讨论解决具体问题。

2025-06-16 16:58:05 387

原创 STM32内存分配

在 STM32 微控制器中,内存按功能、访问速度和用途可分为多个类别,其结构直接影响程序性能和资源管理。constmallocrt_malloc0xAA合理配置内存布局能显著提升 STM32 的性能和稳定性,尤其在资源受限的嵌入式系统中至关重要。

2025-06-16 16:08:35 1034

原创 栈区后进先出

是栈(Stack)内存管理的核心特性,其具体体现贯穿于程序执行的多个层面。当中断发生时,处理器自动将当前任务的上下文(如寄存器值、返回地址)压入栈中;中断结束时,按相反顺序恢复。当函数嵌套调用时,栈用于保存函数的返回地址、局部变量和参数。LIFO 特性确保最后调用的函数最先返回。理解栈的 LIFO 特性,有助于高效管理内存、调试栈溢出问题,并优化嵌入式系统的实时性。高优先级中断可抢占低优先级中断,形成嵌套。局部变量在函数进入时分配栈空间,函数退出时自动释放。在 STM32 或其他嵌入式系统的实际应用中,

2025-06-16 15:52:55 636

原创 RT_thread笔记

属于线程间同步机制的一种。它的主要功能是让当前线程等待并接收一个或多个指定的事件标志,常用于线程间的。,RT-Thread 提供了一种高效的事件驱动编程模型,特别适合需要。在 RT-Thread 中,rt_event_recv()的嵌入式应用(如传感器数据就绪、用户输入响应等)。是一个核心函数,用于。

2025-06-16 14:13:18 724

原创 MDK HardFault 问题查找

功能来跳转到特定的内存地址查看对应的代码或数据。如果你发现快捷键无效,可能是 MDK 版本不同或快捷键被修改,可以在。中检查或重新绑定快捷键。

2025-06-14 15:52:20 479

原创 使用MDK创建RT_thread标准版工程

在官网下载一份RT-thread源码,我这里是在上面官网的网盘中下载的rt-thread-5.0.2的版本。\rt-thread\bsp\stm32\libraries\templates,在这个目录下选择所需的芯片系列。然后进入stm32目录,同样只保留红框中的文件,其他全部删除,我这里使用的是STM32F407.(我这里拷贝的是stm32F4xx,并重命名为mybsp)进入bsp目录,然后只保留红框中的文件,其他的全部删除。登录rt_thread官网,用git克隆源码。

2025-06-09 11:20:41 378

原创 STM32F4三角函数的使用

使用sinf计算单精度浮点正弦值。确保启用 STM32F4 的 FPU 并链接数学库。注意弧度与角度的转换。

2025-06-09 09:17:35 947

原创 PID控制

PID控制

2025-06-08 19:34:58 399

原创 STM32F405RGT6开FPU单元方法

在启动文件中添加以下代码,我的是从170行开始添加。在Define中添加。

2025-06-08 11:33:27 276

原创 同时完成函数的声明和调用的宏

此宏假设函数是无参数的(

2025-05-22 10:21:48 256

原创 git常用命令

掌握这些命令可覆盖 90% 的日常 Git 操作需求!建议结合实践加深理解。中添加需忽略的文件/目录(如。

2025-05-20 14:37:21 229

原创 HC32F460更改端口寄存器PCRxy无效问题(需要解除端口锁保护功能)

/关闭JTDI 调试管脚。// 解除端口锁保护。/* 数字信号功能有效 */

2023-04-18 11:35:09 449

原创 SPI控制MS5614T

HC32F460 通过SPI对MS5614T进行数模转化

2022-11-27 14:38:57 1610 1

原创 STM32F405RGT6外设配置及说明

【代码】STM32F405RGT6外设配置及说明。

2022-10-09 18:05:04 4132 1

原创 关于常用单片机时钟初始化

STM32F030K6T6使用内部高速时钟源配置为48MHzvoid SystemInit (void){ /* Set HSION bit / RCC->CR |= (uint32_t)0x00000001;//开内部8MHZ时钟() / Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE and MCOSEL[2:0] bits / RCC->CFGR &= (uint32_t)0xF8FFB80C;//HSI为时钟/AHB不分

2022-01-25 13:05:28 1136

转载 电路中VCC、VDD、VEE、VSS的区别

电路设计以及PCB制作中,经常碰见电源符号:VCC、 VDD、VEE、VSS,他们具有什么样的关系那?一、解释VCC:C=circuit 表示电路的意思, 即接入电路的电压VDD:D=device 表示器件的意思, 即器件内部的工作电压;VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压二、说明1、对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc>Vdd),VSS是接地点。2、有些IC既有VDD引脚又有VCC引脚,说明这种器件自身带有电压转

2020-07-05 11:36:37 1422

原创 ST笔记

重装载寄存器(自动重装载寄存器):当递减计数器递减到0之后,重装载就会把值重新装载到递减计数器中。定时单位时间计算:t=reload*(1/clk)NVIC是在misc.h中systick是在core_cm3.h中重装载寄存器的值不能大于2的24次方,一般写72或者72000(1ms);重装载寄存器的值不是延迟多少毫秒的值。 重装载寄存器的值只是用于做计数单位用的,装载一次为一毫秒。例如...

2020-04-29 09:51:32 1750

原创 学习笔记

复用功能输出:普通的输出模式只是输出高低电平,“复用功能输出”中的“复用”是指 STM32 的其它片上外设对 GPIO 引脚进行控制,此时 GPIO 引脚用作该外设功能的一部分,算是第二用途。例如使用USART时需要用到某些引脚来发送信号。复用功能输入:普通的输入只是用寄存器去读取引脚上的高低电平,在“复用功能输入模式”时,GPIO 引脚的信号传输到STM32 其它片上外设,由该外设读取引脚状...

2020-04-23 08:00:39 534

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除