logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

新手必看!彻底搞懂 VS Code 环境下的 CMake C++ 多文件协同开发

本文介绍了使用VSCode和CMake开发C++项目的完整流程:1)通过CMake插件快速初始化项目结构;2)编写多文件程序(头文件、实现文件和主程序)并正确配置CMakeLists.txt;3)重点提示避免使用默认运行按钮,应通过底部状态栏进行构建和运行;4)修改settings.json启用外部终端提升交互体验。文章特别强调了正确注册源文件到CMakeLists.txt和避免单文件编译陷阱等关

文章图片
#vscode#ide#编辑器 +1
PWM输出&频率计

文章摘要:本文介绍了基于STM32F4的PWM信号生成与输入捕获应用。首先通过定时器2通道1(PA5)实现2秒周期、25%占空比的PWM信号控制LD2指示灯,详细说明了参数计算与CubeMX配置方法。其次实现呼吸灯功能,通过调整CCR值使占空比在20ms周期内以20%步进变化。最后构建频率计系统,利用定时器2(PA0)捕获定时器3(PA6)生成的PWM信号,通过边沿检测计算信号周期和频率。整个系统

文章图片
#单片机#嵌入式硬件
串口通信1.0(串行&并行)

文档聚焦串口通信,先将计算机通信按传输方式分为并行与串行:并行通信多位同传,控制简、速度快,但长距硬件成本高;串行通信逐位传输,长距成本低但控制较复杂,又分同步与异步。同步通信双方共用时钟,以数据块传输,用 1-2 个同步字符标识开始,无起始 / 停止位,适大批量数据;异步通信更常用,有固定帧结构(含起始位、数据位、可选校验位、停止位及不定长空闲位),依赖约定波特率通信。还提及数据传输方向(单工、

文章图片
#单片机
定时器2.0(PWM与输入捕获)

主要围绕 PWM 输出和定时器输入捕获功能展开。PWM 输出部分,介绍了其作为模拟信号数字编码方法的特性,核心参数为周期和占空比,通过平均电压 = 峰值 × 占空比 实现电压调节,涉及输入捕获单元、捕获 / 比较寄存器等功能单元,核心寄存器 ARR、CCR 分别控制周期和占空比,还包括多通道输出特性、相关数据类型及接口函数。定时器输入捕获功能用于测量信号周期和频率,通过捕获外部信号边沿锁存计数器值

文章图片
#单片机#嵌入式硬件#stm32
stm32 中断(理论)

文章从基础理论到 STM32 实践,覆盖中断的概念、机制、硬件架构及编程流程,重点阐述了 STM32 中断系统的特性与外部中断的处理逻辑。

文章图片
#stm32#嵌入式硬件#单片机 +1
Keil5 代码无提示问题的解决方法

该文件主要围绕 Keil5 中代码无提示这一 BUG,阐述了解决方法。文中指出,在 Keil5 编写代码时,存在无代码提示、TEXT 左侧为空白的问题,影响开发效率。其解决方案为替换 UV4.exe 文件,具体步骤如下:首先检查 Keil5 安装路径下 UV4.exe 的修改日期,若为 2017 年则可能有问题;接着重新解压安装包,获取 2016 年版本的 UV4.exe;最后用该文件替换安装路径

文章图片
#嵌入式#stm32
双通道点光源追踪系统

摘要:本系统基于STM32F411和FreeRTOS实现了一个高响应速度的光源追踪系统。系统采用双路光敏传感器对称布局,通过STM32的ADC+DMA技术实现100kHz高频采样,获取两路电压差值作为误差信号。控制核心采用比例算法动态调节PWM占空比(周期20ms,脉宽0.5-2.5ms),驱动SG90舵机闭环追踪光源。硬件设计重点解决了电源稳定性(1000uF+100nF电容组合)、信号完整性(

文章图片
#单片机#嵌入式硬件#开源 +1
FreeRTOS

本文系统介绍了FreeRTOS实时操作系统的核心知识,包括嵌入式编程模式对比(裸机开发与RTOS)、操作系统基本概念(任务调度、状态管理等)。重点分析了FreeRTOS的任务划分原则(中断关联、输入/输出类任务)与优先级设置经验,详细阐述了四大同步通信机制:信号量(二值/计数)、事件标志组(多任务协同)、互斥量(资源互斥访问)和消息队列(数据传输)。通过总结常用接口函数,为开发者提供了基于项目规模

文章图片
#arm开发#单片机#操作系统
到底了