使用技巧
隐藏指定文章目录序号如果只想单独关闭某一篇文章的目录序号,在该文章 .md 文件的 Front-matter 中添加: 12345---title: 文章标题date: 2026-05-07toc_number: false # 仅本篇关闭目录序号---
扩展推荐
hexo-hide-posts功能:隐藏文章安装插件 1npm install hexo-hide-posts --save 文章内添加 12345---title: 私人笔记date: 2026-05-07hidden: true # 只在首页隐藏---
vscode使用CluadeCode插件
参考: 国内使用安装 Claude Code 工具简介 Node.jsNode.js是一个基于Chrome V8引擎的JavaScript运行环境,让你能够在服务器端运行JavaScript代码。它包含了npm(Node Package Manager),是世界上最大的软件注册表,用于管理JavaScript包和依赖。 CC-SwitchCC-Switch是一个跨平台桌面应用,统一管理四大AI编程CLI的配置:Claude Code、Codex、Gemini CLI和OpenCode。它解决了模型和配置切换太麻烦的问题,让你可以在多个API提供商之间快速切换。 Visual Studio Code (VS Code)VS Code是微软开发的免费、开源、跨平台的代码编辑器,支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和Git版本控制系统。 Claude CodeClaude Code是Anthropic官方推出的CLI级智能体工具,定位不是聊天,而是在本地代码仓库中执行高权限、可上下文感知的工程任务。它能够直接读取整个项目目录,理解真实代码结...
stm32重要概念
影子寄存器(Shadow Register)STM32 影子寄存器(Shadow Register)是定时器硬件内部真正生效的寄存器,作用是确保时序参数(周期、占空比、分频)在更新时不产生毛刺、不破坏当前周期完整性,实现同步、无抖动的参数切换。 基本结构:预装载 + 影子STM32 定时器里带 “阴影” 标记的寄存器(ARR、CCR、PSC、RCR)都由两部分组成: 预装载寄存器(Preload Register) 软件直接读写的对象(如 TIMx->ARR、TIMx->CCR1) 你写的值先存在这里,不一定立即生效 影子寄存器(Shadow Register) 硬件内部、用户不可直接访问 真正参与计数、比较、输出的寄存器 只有它的值决定当前定时器行为 核心作用(为什么需要影子) 保证当前计数周期完整,不被中途截断 计数器正在跑时,你改 ARR/CCR: 无影子:立即改硬件 → 周期突然变短 / 变长、PWM 出现毛刺、尖峰、丢脉冲 有影子:新值暂存预装载,等当前周期结束(更新事件 UEV)才加载到影子 → 平滑切换 多通道参数...
hal库timer
参考:-正点原子定时器 定时器概述定时器定时原理 定时器分类 定时器特性表 基本、通用、高级定时器的功能整体区别 特点芯片定时器资源和引脚参考hal库usart外设->查看引脚定义 定时器的主从模式核心概念 主模式(Master):主动发信号。定时器自己跑,并通过 TRGO(触发输出)给别的定时器 / 外设发 “命令”(同步信号)。 从模式(Slave):被动听命令。定时器自己不主动跑,等待外部信号或别的定时器通过 TRGI(触发输入)来控制它(启动、停止、清零、当时钟)。 主模式(Master Mode)详解作用:让一个定时器作为指挥官,控制其他定时器或外设同步启动 / 停止。怎么工作?配置定时器在特定事件发生时,通过 TRGO 引脚 / 内部线 输出一个触发脉冲: 计数器 CNT 归零 (Update) 时发 TRGO 捕获 / 比较事件发生 (Capture) 时发 TRGO 使能时发 TRGO 等典型应用: 多定时器同步:TIM2(主)发 TRGO → 控制 TIM3、TIM4 同时启动。 触发 ADC 采样:定时...
hal库wwdg
参考:-正点原子WWDG 介绍简介 作用 工作原理 框图 寄存器 溢出时间计算公式: f1超时时间 IWDG和WWDG的主要区别 hal库配置步骤 示例全局变量: 1WWDG_HandleTypeDef g_wwdg_handle; /* WWDG句柄 */ 初始化 1234567891011121314151617181920212223242526272829303132/** * @brief 初始化窗口看门狗 * @param tr: T[6:0],计数器值 * @param tw: W[6:0],窗口值 * @note fprer:分频系数(WDGTB),范围:WWDG_PRESCALER_1~WWDG_PRESCALER_8,表示2^WDGTB分频 * Fwwdg=PCLK1/(4096*2^fprer). 一般PCLK1=36Mhz 最大-最小超时时间参考 RM0008或者《STM32F10xxx参考手册》P321 * @retval...
hal库iwdg外设
参考:-正点原子IWDG 介绍简介 作用 工作原理 框图 寄存器 溢出时间计算公式: f1超时时间 f4,f7,h7超时时间 hal库相关函数 配置步骤 示例初始化 123456789101112131415/** * @brief 初始化独立看门狗 * @param prer: IWDG_PRESCALER_4~IWDG_PRESCALER_256,对应4~256分频 * @arg 分频因子 = 4 * 2^prer. 但最大值只能是256! * @param rlr: 自动重装载值,0~0XFFF. * @note 时间计算(大概):Tout=((4 * 2^prer) * rlr) / 40 (ms). * @retval 无 */void iwdg_init(uint8_t prer, uint16_t rlr){ g_iwdg_handle.Instance = IWDG; g_iwdg_handle.Init.Prescaler = ...
stm32获取资料手册
进入官网stm32官网注册并登录账号 进入对应芯片页面在官网搜索芯片型号, 例如: stm32f407zgt6 选择需要的手册下载
hal库usart外设
参考: 正点原子usart外设 介绍简介 特性 系统框图 查看引脚定义在芯片数据手册查找芯片数据手册下载方式参考获取资料手册外设信息: 引脚定义: 相关函数接口定义UART_HandleTypeDef UART_InitTypeDef MSP回调函数机制初始化钩子函数 中断回调 常用函数1234567891011121314151617181920212223242526HAL_UART_Init(UART_HandleTypeDef *huart); //初始化usart外设void HAL_UART_MspInit(UART_HandleTypeDef *huart); //初始化钩子函数__HAL_RCC_USART1_CLK_ENABLE(); //使能usart1时钟HAL_NVIC_EnableIRQ(USARTX_IRQn); //使能usartX中断HAL_NVIC_SetPriority(USARTX_IRQn, 3, 3); //设置usartX中断优先级HAL_UART_Receive_IT(...
hal库中断
参考:正点原子NVIC NVIC基本概念 stm分抢占优先级和响应优先级 抢占优先级高优先级可以打断低优先级中断 响应优先级高优先级不能打断低优先级中断 相同优先级中断按自然优先级(中断号)顺序执行中断号位置在 ‘hal库相关函数’ 处讲解 相关寄存器 hal库相关函数位置: 12345678910111213/*PriorityGroup:中断优先级分组配置NVIC_PRIORITYGROUP_0 抢占优先级0位,响应优先级4位NVIC_PRIORITYGROUP_1 抢占优先级1位,响应优先级3位NVIC_PRIORITYGROUP_2 抢占优先级2位,响应优先级2位NVIC_PRIORITYGROUP_3 抢占优先级3位,响应优先级1位NVIC_PRIORITYGROUP_4 抢占优先级4位,响应优先级0位*/HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);HAL_NVIC_SetPriority(中断号, 抢占优先级, 响应优先级); // 设置中断优先级HAL...