自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(453)
  • 资源 (1)
  • 收藏
  • 关注

原创 【凌鸥LKS32】应用篇(一)·Timer定时器模拟任务调度

本文介绍了裸机系统的轮询、前后台系统与多任务系统的特点,并基于定时器模拟时间片轮转调度,实现按键与LED任务并行处理,展示了简单任务调度机制的设计思路。

2026-09-14 07:00:00 328

原创 【凌鸥LKS32】基础篇(七)·软件触发ADC采集电位器电压

本文介绍了ADC(模拟-数字转换器)的基本原理和应用,重点分析了LKS32MC07x系列芯片内置的12位SAR-ADC模块。文章首先讲解了ADC0809外接芯片的工作原理,然后详细阐述了LKS32芯片的ADC功能框图、基本结构和工作流程。主要内容包括:ADC的两种触发方式(常规触发和空闲触发)、通道选择配置、中断类型、数据输出格式(12位补码)、量程设置(3.6V/7.2V)以及阈值监测功能。文章还提供了软件触发ADC的代码实现示例,展示了如何初始化ADC、配置通道、触发采样并读取转换结果。最后通过电位器电

2026-08-08 23:00:00 398

原创 【嵌入式大厂面经】·UART、RS232、RS485、I²C、SPI 、CAN速通(持续更新中···)

嵌入式通信协议是软硬件开发、面试、项目落地的核心考点。UART、RS232、RS485、I²C、SPI、CAN 六种总线覆盖了板内短距通信、设备串口通信、工业远距离差分通信、汽车总线通信全部场景。多数开发者容易混淆物理层与协议层、同步与异步、单端与差分、波特率与比特率等核心概念。本文从原理、硬件电平、帧时序、通信模式、速率距离、开发方式、工程坑点、面试高频区别全方位梳理六大通信协议,帮助读者快速吃透嵌入式总线体系,搞定面试与项目实战。

2026-08-08 21:00:00 136

原创 【凌鸥LKS32】基础篇(六)·NVIC中断理论补充

本文介绍了LKS32MC07x系列芯片基于ARM Cortex-M0+内核的中断系统架构。主要内容包括:1) 中断基础概念与嵌套机制;2) 关键特性:支持2位优先级(4个级别)、独立使能/禁止寄存器、中断挂起清除功能;3) 中断控制函数实现,包括使能(__NVIC_EnableIRQ)、禁止(__NVIC_DisableIRQ)和优先级设置(__NVIC_SetPriority)等底层操作。该芯片具有25个外部中断源,通过NVIC控制器实现优先级管理和中断嵌套,优先级配置直接影响中断响应顺序和嵌套行为。

2026-08-05 22:00:00 339

原创 【凌鸥LKS32】基础篇(五)·UART实现DMA数据转运

本文介绍了如何利用DMA(直接存储器访问)技术优化LKS32MC07x系列单片机的UART数据发送,实现数据传输与主程序并行执行。主要内容包括: DMA基础:阐述DMA工作原理,对比传统CPU搬运数据方式,突出其无需CPU干预、高效传输数据的优势,并解析总线架构、优先级设置及初始化结构体参数配置。 UART实现:通过普通串口发送函数(轮询方式)发送5000字节数据,演示CPU被阻塞导致LED闪烁停滞的问题。 DMA优化方案: 配置DMA通道,设置源地址(发送缓冲区)、目标地址(UART发送寄存器)、字节传输

2026-08-05 06:00:00 449

原创 【凌鸥LKS32】基础篇(四)·UART串口收发运用

本文介绍了串口通信(UART)的基本原理与LKS32MC071单片机上的实现方法。主要内容包括:串口通信分层结构:物理层(TTL/RS-232电平标准)和协议层(数据帧格式);UART特性:支持全双工、波特率配置、端口互换等功能;具体实现:通过GPIO复用配置UART0引脚,设置波特率38400、8位数据、无校验,并实现收发中断服务;进阶应用:通过重定向fputc函数实现printf调试输出,结合按键中断演示数据传输功能。文章提供了完整的代码工程,展示了从基础收发到高级调试功能的实现过程。

2026-08-04 23:00:00 321

原创 【凌鸥LKS32】基础篇(三)·EXTI外部中断按键检测功能设计

本文介绍了基于LKS32MC071单片机的GPIO应用,包括按键检测、输出控制和外部中断(EXTI)实现。首先阐述了GPIO输入输出原理及按键消抖方法,展示了单/双按键控制LED状态切换的代码实现。随后详细讲解了EXTI外部中断的三种触发方式,并通过实例演示如何配置下降沿触发中断来改变流水灯方向。文章提供了完整的初始化设置、中断服务函数和主程序循环代码,并附有相关工程源码下载链接。这些内容为嵌入式开发者提供了GPIO和外部中断应用的实践参考。

2026-08-04 06:00:00 160

原创 【凌鸥LKS32】基础篇(二)·Timer定时器实现LED闪烁

本文介绍了凌鸥LKS32系列单片机的通用定时器TIMER模块功能及其应用。该模块包含4个独立定时器(Timer0/1为16位,Timer2/3为32位),支持捕获模式(检测外部信号边沿)和比较模式(生成PWM波形)。重点讲解了计数器模式(递增/递减/中心计数)、单次触发和互补PWM输出功能,并提供了定时器初始化配置方法。通过具体示例展示了如何配置Timer0实现50ms定时中断,累计20次后控制LED1每秒翻转一次。文中详细分析了时钟分频计算过程(96MHz主频下选择128分频,TH=37499)

2026-08-03 23:00:00 319

原创 【凌鸥LKS32】基础篇(一)·点亮一颗LED

本文介绍了基于LKS32MC07x系列工业级MCU的GPIO开发流程。该芯片采用Cortex-M0内核,支持96MHz主频,具备完善的电机控制外设。文章详细讲解了GPIO初始化方法,包括推挽输出模式配置,并通过结构体设置引脚功能。同时阐述了基于NOP指令的软件延时实现原理,以及系统时钟配置为96MHz的关键步骤。最后展示了主函数中LED交替闪烁的实现代码,包含GPIO高低电平控制与延时调用的完整流程。文中还特别说明了看门狗关闭的必要性,以及关键系统寄存器的写保护机制。

2026-08-03 06:00:00 238

原创 【嵌入式大厂面经】·单片机压力面试·第二弹

这是一个嵌入式大厂面试题专栏,每天更新高频面试题。专栏将包含题目描述、详细解析、相关知识点扩展以及实际代码示例。内容涵盖操作系统、驱动开发、通信协议等核心领域,并结合实际项目经验进行分析。每道题目都会附带面试官可能的追问方向,帮助大家更好地准备面试!

2026-07-06 18:12:54 111

原创 【嵌入式大厂面经】·单片机压力面试·第一弹

这是一个嵌入式大厂面试题专栏,每天更新高频面试题。专栏将包含题目描述、详细解析、相关知识点扩展以及实际代码示例。内容涵盖操作系统、驱动开发、通信协议等核心领域,并结合实际项目经验进行分析。每道题目都会附带面试官可能的追问方向,帮助大家更好地准备面试!

2026-06-08 23:00:00 161

原创 【STM32】配置VS Code + Claude Code辅助Keil开发STM32环境搭建指南

对于嵌入式开发者来说,Keil MDK-ARM(Keil5)长期以来都是STM32开发的主流工具。但它的编辑器功能简陋、界面陈旧,与现代开发工具相比显得格格不入。而Visual Studio Code(VS Code)凭借其轻量级、高扩展性和丰富的插件生态,正成为越来越多开发者的首选。本文将带你一步步将STM32开发环境迁移到VS Code

2026-06-08 06:00:00 1365 1

原创 【STM32实战】ESP8266 通过 MQTT 协议对接 OneNET 云平台实现数据上传与下发(源码可直接移植)

内含源码,可直接移植。本文介绍了ESP8266-01S WiFi模块的使用方法,包括硬件连接、AT指令操作、固件烧录以及通过MQTT协议连接OneNET物联网平台的完整流程。文章详细讲解了ESP-01S的引脚功能、AT指令分类及使用方法,并提供了固件升级步骤。重点阐述了如何通过AT指令配置MQTT参数、订阅主题、上传传感器数据(如温湿度)和接收云端下发的控制指令(如LED开关)。

2026-05-27 06:00:00 548

原创 【LoRa】速通LoRa相关知识点名词

本文系统介绍了LoRa低功耗广域网技术。首先对比了各类通信技术的优缺点,指出LoRa兼具远距离和低功耗的优势。详细解析了LoRa的物理层调制技术(Chirp扩频)和系统架构(终端-网关-服务器),重点阐述了三大核心参数:扩频因子(SF)、带宽(BW)和编码率(CR)对性能的影响。文章还分析了接收灵敏度、通信距离等关键指标,并介绍了LoRaWAN的三种工作模式(Class A/B/C)及其适用场景。通过参数优化组合,LoRa可实现10km+通信距离和10年以上的电池寿命,特别适合智能表计、环境监测等物联网应用

2026-05-25 23:00:00 575

原创 【OTA】手把手写BootLoader程序·通过串口IAP实现加载外部Flash芯片程序到STM32的A区

内含源码可直接移植,本文详细介绍了基于STM32的BootLoader程序开发过程,重点实现了OTA(空中升级)功能。主要内容包括: OTA升级控制机制、 串口命令行交互、Xmodem协议实现以及固件更新流程,设计7个功能菜单,包括擦除分区、固件下载、版本管理等,通过SecureCRT工具实现交互, 实现从指定区块读取固件并写入内部Flash的功能,包含地址计算和进度显示。

2026-05-25 06:00:00 681

原创 【嵌入式大厂面经】·FreeRTOS任务系统

面试核心围绕七大模块:任务管理(动态 / 静态创建、状态转换、空闲任务)、调度机制(抢占式优先级 + 时间片轮转)、IPC 通信(队列、信号量、互斥量、任务通知)、内存管理(heap_1~heap_5 区别与碎片问题)、中断处理(FromISR 系列函数)、同步互斥(优先级反转及解决)、问题排查(栈溢出、死锁)。

2026-05-14 23:00:00 665

原创 【嵌入式大厂面经】·FreeRTOS核心机制

FreeRTOS 是嵌入式领域事实上的标准 RTOS,面试核心围绕七大模块:任务管理(动态 / 静态创建、状态转换、空闲任务)、调度机制(抢占式优先级 + 时间片轮转)、IPC 通信(队列、信号量、互斥量、任务通知)、内存管理(heap_1~heap_5 区别与碎片问题)、中断处理(FromISR 系列函数)、同步互斥(优先级反转及解决)、问题排查(栈溢出、死锁)。

2026-05-14 05:00:00 296

原创 【嵌入式大厂面经】·FreeRTOS 技术场景压力面试·第二弹

FreeRTOS 是嵌入式领域事实上的标准 RTOS,面试核心围绕七大模块:任务管理(动态 / 静态创建、状态转换、空闲任务)、调度机制(抢占式优先级 + 时间片轮转)、IPC 通信(队列、信号量、互斥量、任务通知)、内存管理(heap_1~heap_5 区别与碎片问题)、中断处理(FromISR 系列函数)、同步互斥(优先级反转及解决)、问题排查(栈溢出、死锁)。

2026-05-13 23:00:00 122

原创 【嵌入式大厂面经】·FreeRTOS 技术场景压力面试·第一弹

FreeRTOS 是嵌入式领域事实上的标准 RTOS,全球市场占有率超 38%,在 ARM Cortex-M 系列 MCU 中采用率超 60%。面试核心围绕七大模块:任务管理(动态 / 静态创建、状态转换、空闲任务)、调度机制(抢占式优先级 + 时间片轮转)、IPC 通信(队列、信号量、互斥量、任务通知)、内存管理(heap_1~heap_5 区别与碎片问题)、中断处理(FromISR 系列函数)、同步互斥(优先级反转及解决)、问题排查(栈溢出、死锁)。

2026-05-13 05:00:00 126

原创 【嵌入式大厂面经】·CAN总线常见考点(持续更新中···)

CAN(Controller Area Network,控制器局域网)是由博世公司于 1986 年开发的异步串行半双工通信协议,凭借高可靠性、强抗干扰能力和多主架构,成为汽车电子、工业控制、航空航天等领域的事实标准总线。CAN 是嵌入式工程师面试中中高级岗位的必考内容,尤其注重对协议核心机制、错误处理和实际项目应用能力的考察。

2026-05-12 23:00:00 228

原创 【嵌入式大厂面经】·UART/USART常见考点(持续更新中···)

USART/UART是嵌入式工程师面试必考的核心协议,也是实际项目中最容易出现问题的通信方式。本专栏聚焦一线大厂高频考点,从基础原理到项目实战,全方位拆解USART/UART协议的所有知识点和面试难点,帮助你轻松应对USART/UART相关的所有面试问题。

2026-05-12 05:00:00 86

原创 【嵌入式大厂面经】·IIC常见考点(持续更新中···)

IIC 是嵌入式工程师面试必考的核心协议,也是实际项目中最容易出现问题的通信方式。本专栏聚焦一线大厂高频考点,从基础原理到项目实战,全方位拆解 IIC 协议的所有知识点和面试难点,帮助你轻松应对 IIC 相关的所有面试问题。

2026-05-11 23:00:00 260

原创 【嵌入式大厂面经】·SPI常见考点(持续更新中···)

专为准备嵌入式工程师岗位面试的求职者打造,聚焦一线大厂高频考点,每天一道精选面试题,带你从基础概念到项目实战,全方位攻克嵌入式面试难点。

2026-05-11 06:00:00 219

原创 FreeRTOS菜鸟入门(二十)·ARM架构简介

本文介绍了ARM架构的核心特性及其汇编指令基础。ARM作为RISC架构的代表,具有指令精简、执行效率高、低功耗等特点,适合嵌入式场景。文章详细解析了ARM的特殊功能寄存器(SP、LR、PC、xPSR)的作用,并讲解了常用汇编指令如LDR/STR(内存读写)、ADD/SUB(算术运算)、CMP(比较)、B/BL(跳转)等。通过实例展示了C代码与汇编指令的对应关系,并介绍了反汇编工具的使用方法,帮助开发者深入理解ARM底层运行机制。最后提供了FreeRTOS相关资源链接,适合嵌入式开发者学习参考。

2026-05-04 06:00:00 455

原创 嵌入式面试八股文(二十一)·嵌入式开发中C语言相关知识点扫盲

本文介绍了C语言在嵌入式开发中的10个核心知识点:函数原型的作用与重要性;递归函数的原理与应用;回调函数的概念与实现;预处理指令#define的使用场景;条件编译的语法与实例;#include指令的用法; 编译器优化选项的影响;#pragma指令的功能;位操作的实现方法; 野指针问题及防范措施。这些内容涵盖了嵌入式开发中常见的编程技巧、优化方法和错误防范,对提高代码质量和开发效率具有重要指导意义。

2026-03-14 16:11:31 496

原创 嵌入式面试八股文(二十)·C语言关键字相关知识点速通(static、const、volatile、struct、enum、union)

本文详细讲解了C语言中7个关键特性的嵌入式开发应用:static关键字用于控制变量生命周期和作用域;const关键字保护数据不被修改;3volatile确保变量不被编译器优化;指针操作硬件寄存器和内存管理;结构体组织复杂数据;枚举提高代码可读性;union节省内存并实现数据转换。这些特性在嵌入式开发中至关重要,直接影响系统性能和稳定性。

2026-03-14 15:54:14 622

原创 沁恒CH32·一键开关机功能设计·定时器版本(源码可直接移植)

内含源码可直接移植。本文介绍了基于沁恒CH32微控制器的一键开关机电路设计(定时器版本)。系统通过长按按键(≥1秒)触发开机,短按(30ms)切换LED模式,长按(≥3秒)实现关机。硬件电路采用P-MOS管控制电源通断,配合三极管和二极管实现自锁功能。软件部分通过定时器中断实现非阻塞式按键检测,包含电源引脚初始化、按键扫描、LED模式控制等模块。相比延时函数版本,定时器方案避免了程序阻塞,更适合复杂工程应用。文中详细解析了电路工作原理、代码实现逻辑及主程序流程,并提供了完整的工程资源下载链接。

2026-03-13 06:00:00 851

原创 沁恒CH32速通篇(二)·通用定时器点灯实验

本文介绍了在沁恒CH32V003单片机上实现定时器控制LED闪烁的方法。主要内容包括:CH32V003的定时器特性,包含1个高级定时器和1个通用定时器; 工程创建步骤,需添加Timer.c和Timer.h文件;定时器初始化配置,包括预分频值、计数模式等参数设置;中断服务函数的特殊声明方式,需添加"WCH-Interrupt-fast"属性; LED引脚初始化及主函数实现。通过配置TIM2定时器产生1秒定时中断,实现了LED的周期性闪烁控制。

2026-03-10 23:00:00 536

原创 沁恒CH32·一键开关机功能设计·延时函数版本(源码可直接移植)

内含源码可自行移植,本文介绍了基于CH32芯片实现一键开关机功能的硬件电路设计与软件实现方案。通过P-MOS管和三极管构建电源开关电路,实现长按开机(1秒)、短按模式切换(30ms)和长按关机(3秒)三种功能。软件部分详细阐述了GPIO初始化、按键检测逻辑(包括防抖处理)和LED模式控制(全闪、流水灯、单灯循环)的实现方法。系统采用非阻塞式设计,主循环以10ms为周期进行按键状态检测和LED状态更新,同时通过PC3引脚电平控制实现电源自锁功能。该方案在保证功能完整性的同时,兼顾了低功耗特性。

2026-03-10 06:00:00 1155

原创 沁恒CH32速通篇(一)·GPIO点灯实验

本文介绍了沁恒CH32系列MCU的GPIO配置与使用。首先概述了CH32系列产品线及其特点,包括不同内核架构、主频和应用场景。然后详细讲解了GPIO功能,包括引脚分类、寄存器配置、8种工作模式(输入/输出/复用)及相关库函数说明。最后通过LED点灯实验演示了GPIO初始化流程:配置引脚为推挽输出模式,在主循环中交替设置高低电平实现LED闪烁。实验包含GPIO初始化结构体配置、时钟使能、引脚模式设置等关键步骤,并提供了完整的工程源码下载链接。该案例为CH32开发提供了基础的GPIO操作参考。

2026-03-09 23:00:00 1118

原创 STM32学习·HAL库速通篇(十二)·通用定时器(TIM2、TIM3、TIM4、TIM5)

本文详细介绍了STM32定时器(TIM)的功能特性与使用方法。主要内容包括:TIM的分类及特点,分为基本定时器(TIM6/7)、通用定时器(TIM2-5)和高级定时器(TIM1/8);定时器核心工作原理,重点解析预分频器、计数器和自动重装载寄存器的时序关系;工程配置步骤,包括时钟设置、中断配置等;4) 实际应用示例,通过HAL库函数实现按键控制LED闪烁频率变化功能。文章深入浅出地讲解了定时器从原理到实践的全过程,为STM32定时器开发提供了实用指导。

2026-03-09 06:00:00 740

原创 STM32学习·HAL库速通篇(十一)·ADC电压采集

本文介绍了STM32中ADC(模数转换器)的基本原理与配置方法。主要内容包括:1)ADC工作原理,重点讲解了逐次逼近型ADC0809的结构与STM32内部ADC框图;2)ADC基本结构配置,详细说明GPIO口设置、转换器配置、采样时钟选择(最大14MHz)、四种转换模式(单次/连续、扫描/非扫描)以及数据对齐方式;3)实际工程应用,通过STM32CubeMX配置PA6引脚为ADC输入通道,实现单次转换模式的电压采集,并配合串口打印ADC原始值(0-4095)和转换后的电压值(0-3.3V)。

2026-03-05 23:00:00 901

原创 STM32学习·HAL库速通篇(十)·串口(USART)通过DMA收发不定长数据

本文详细介绍了STM32中DMA(直接存储器访问)的基本原理与应用实现。首先阐述了DMA的概念、存储器映像和基本结构,包括触发源选择、数据宽度与对齐等关键技术点。接着讲解了在STM32CubeMX中的工程配置方法,重点说明DMA通道、传输方向、优先级等参数的设置。文章还分析了HAL库中关键的DMA函数,如HAL_UARTEx_ReceiveToIdle_DMA()等的工作原理。最后通过实例演示了如何使用DMA实现串口数据收发,包括printf重定向、缓冲区初始化及回调函数处理等完整实现过程。

2026-03-05 06:00:00 1337

原创 STM32学习·HAL库速通篇(九)·串口(USART)接收数据运用

本文详细介绍了STM32串口通信的实现方法,包括物理层和协议层的概念解析。物理层区分了TTL和RS-232电平标准,协议层说明了数据包格式。文章重点讲解了三种接收方式:阻塞式接收定长数据,通过HAL_UART_Receive()实现;中断式接收定长数据,使用HAL_UART_Receive_IT()和回调函数处理;中断式接收不定长数据,利用HAL_UARTEx_ReceiveToIdle_IT()和空闲中断检测。每种方法都配有工程配置说明、代码示例和实际测试结果,完整工程资源可通过CSDN下载。

2026-03-04 23:00:00 1164

原创 STM32学习·HAL库速通篇(八)·串口发送运用(USART)

本文介绍了STM32串口通信的基本原理与HAL库实现方法。主要内容包括:1)串口通信分层模型(物理层与协议层),物理层涉及TTL与RS-232电平标准转换;2)协议层数据包格式(起始位、数据位、校验位和停止位);3)通过STM32CubeMX配置USART1为异步模式,设置波特率115200;4)使用HAL_UART_Transmit()函数实现单字节和字符串发送;5)通过重写fputc()函数实现printf()重定向到串口输出。文章提供了完整的工程配置步骤和代码示例,适合STM32初学者快速掌握串口通信

2026-03-04 06:00:00 1420

原创 STM32学习·HAL库速通篇(七)·外部中断——EXTI

本文介绍了STM32的EXTI外部中断模块,详细讲解了其工作原理和配置方法。主要内容包括:1) EXTI支持的四种触发方式(上升沿、下降沿、双边沿和软件触发);2) EXTI的基本结构和工作流程,说明如何通过AFIO模块选择GPIO引脚;3) 中断优先级的设置规则;4) 通过STM32CubeMX进行工程配置的具体步骤;5) 关键代码实现,包括中断服务函数和回调函数的编写。最后提供了一个完整的工程实例,演示如何通过按键触发外部中断来控制LED灯状态。

2026-03-03 22:00:00 968

原创 STM32学习·HAL库速通篇(六)·系统定时器——SysTick

本文介绍了STM32中SysTick系统定时器的原理与应用。SysTick是CM3内核内置的24位递减计数器,通过系统时钟驱动实现精确计时,具有跨芯片型号的通用性。文章详细讲解了其工作原理:从重装载值开始递减,归零时触发中断并自动重载,形成周期性定时。通过HAL库配置SysTick为1ms时基源,并在中断服务函数中实现500msLED翻转功能。实验展示了如何利用SysTick中断构建系统时基,完成周期性任务调度。

2026-03-03 06:00:00 1368

原创 STM32学习·HAL库速通篇(五)·GPIO输入与按键控制LED灯开关

本文介绍了STM32中GPIO输入功能的应用,重点讲解按键检测的实现方法。首先概述了GPIO的基本功能,包括输入检测外部电平和输出控制设备状态。然后详细说明了按键消抖原理,并通过原理图展示了硬件连接方式。在工程创建部分,演示了如何配置GPIO引脚为输入模式并设置下拉电阻。文章重点讲解了HAL_GPIO_ReadPin函数的工作原理,该函数用于读取GPIO引脚状态。最后给出了完整的代码示例,实现通过两个按键分别控制三颗LED灯的亮灭功能。

2026-03-02 23:00:00 1888

原创 STM32学习·HAL库速通篇(四)·GPIO输出与点灯实验

本文介绍了基于STM32的GPIO输出功能实现LED流水灯实验。首先概述了GPIO的基本概念和输入输出功能,重点讲解了输出模式的控制原理。通过原理图分析LED连接方式,详细说明了在STM32CubeMX中配置GPIO引脚为输出模式的步骤。文章重点解析了两个关键函数:HAL_GPIO_WritePin()用于控制引脚电平,HAL_Delay()实现毫秒级延时。最后展示了主函数中实现三色LED交替点亮的代码逻辑,通过500ms延时实现流水灯效果。实验完整展示了GPIO输出功能的基本应用方法。

2026-03-02 06:00:00 1147

原创 【OTA】手把手写BootLoader程序·无OTA事件B区跳转到A区

系列文章,内含源码和跳转链接,可自行移植,本文主要介绍了STM32 OTA升级中内存分区的设计与实现。通过标志位判断实现无OTA事件时从B区跳转到A区;详细阐述了跳转过程的实现方法,包括栈指针切换、外设复位等关键步骤;使用DMA环形缓冲区优化串口通信。这种分区设计避免了OTA升级过程中设备变砖的风险,确保即使升级失败也能通过B区恢复。

2026-02-02 06:00:00 1054

凌鸥LKS32MC071系列单片机·UART实现数据收发

凌鸥LKS32MC071系列单片机UART实现串口数据的收发。 详细流程可参考文章(四)UART部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-07-31

凌鸥LKS32MC071系列单片机·外部中断EXTI实现按键更改流水灯方向

凌鸥LKS32MC071系列单片机GPIO口输入功能运用,实现外部中断控制按键实现流水灯流向变换。 详细流程可参考文章(三)按键检测部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-07-31

凌鸥LKS32MC071系列单片机·双按键实现LED电平切换

凌鸥LKS32MC071系列单片机GPIO口输入功能运用,实现双按键切换LED电平状态。 详细流程可参考文章(三)按键检测部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-07-31

凌鸥LKS32MC071系列单片机·单按键实现LED电平切换

凌鸥LKS32MC071系列单片机GPIO口输入功能运用,实现单按键切换LED电平状态。 详细流程可参考文章(三)按键检测部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-07-31

凌鸥LKS32MC071系列单片机·流水灯设计实现

凌鸥LKS32MC071系列单片机流水灯实验。 详细流程可参考:https://blog.csdn.net/MANONGDKY/article/details/163306501?spm=1011.2415.3001.5331 该项目在博文的基础上,对文件存放路径进行了一个简单的修改,方便后续延展其他功能。

2026-07-30

凌鸥LKS32MC071系列单片机流水灯实验

凌鸥LKS32MC071系列单片机流水灯实验,详细流程可参考:https://blog.csdn.net/MANONGDKY/article/details/163306501?spm=1011.2415.3001.5331

2026-07-30

凌鸥LKS32MC071系列单片机定时器实现LED闪烁

凌鸥LKS32MC071系列单片机通过Timer定时器,实现LED闪烁。 工程详细解释可以查看链接Timer点亮LED部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-07-30

凌鸥LKS32MC071系列单片机点亮一个LED

凌鸥LKS32MC071系列单片机点亮一个LED。 工程详细解释可以查看链接LED部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-07-29

配置VS Code + Claude Code辅助Keil开发STM32环境搭建指南

博客搭配资源:https://blog.csdn.net/MANONGDKY/article/details/161458171?spm=1001.2014.3001.5501

2026-07-27

UltraCoding编码格式转换工具

项目使用,方便调用查找,对常用编码格式GB2312和UTF-8转换。

2026-06-06

基于STM32实现ESP8266通过MQTT协议连接OneNET云平台实现数据上传和下发

详细功能实现过程可以参考: https://blog.csdn.net/MANONGDKY/article/details/161335064?spm=1001.2014.3001.5501 主要基于STM32通过ESP8266-01S连接OneNET云平台,实现数据的上传和下发。

2026-05-27

ESP8266开发工具包.zip

ESP8266开发工具包,文章内使用的工具包整理: https://blog.csdn.net/MANONGDKY/article/details/161335064?spm=1001.2014.3001.5501

2026-05-27

基于STM32实现BootLoader程序串口IAP实现外部Flash更新代码

注意这只是一个子工程代码,主要为了文章方便验证,文章内有每一块功能的实现过程,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-19

基于STM32实现BootLoader程序串口IAP实现OTA版本号的读写

注意这只是一个子工程代码,为了文章方便验证,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-18

基于STM32实现BootLoader程序串口命令Xmodem实现A区更新

注意这只是一个子工程代码,为了文章方便验证,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-18

基于STM32实现BootLoader程序串口命令Xmodem超时检测

注意这只是一个子工程代码,为了文章方便验证,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-17

基于STM32实现BootLoader程序串口命令XmodemCRC16验证

注意这只是一个子工程代码,为了文章方便验证,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-17

基于STM32实现BootLoader程序串口命令行功能实现

注意这只是一个子工程代码,为了文章方便验证,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-16

基于STM32实现BootLoader程序串口命令行跳转

注意这只是一个子工程代码,为了文章方便验证,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-16

OTA事件Xmodem辅助工具

OTA事件Xmodem辅助工具:SecureCRSecure

2026-05-16

基于STM32实现BootLoader程序B区跳转到A区

注意这只是一个子工程代码,为了文章方便验证,想要了解完整的OTA实现工程可以查看: https://blog.csdn.net/manongdky/category_13089941.html?spm=1001.2014.3001.5482 文章是顺序结构,可自行产看移植。

2026-05-15

基于STM32F103C8T6移植FreeRTOS

实现OLED屏幕显示数据累加和LED交替闪烁,主要是C8T6移植FreeRTOS。 移植过程可以参考:https://blog.csdn.net/MANONGDKY/article/details/147246016,链接是ZET6的不过过程差不多,可能由于内存的原因,C8T6需要改动一些东西,不过如果为了了解FreeRTOS,没必要死扣移植过程,可以先了解完后想要移植在进行移植,该工程已经测试可用。 下面是一些基于ZET6的文章: 入门系列:https://blog.csdn.net/manongdky/category_12958368.html 实战系列:https://blog.csdn.net/manongdky/category_12968613.html?spm=1001.2014.3001.5482 感兴趣自行查阅。

2026-04-28

基于STM32F103C8T6移植FreeRTOS

移植过程可以参考:https://blog.csdn.net/MANONGDKY/article/details/147246016,链接是ZET6的不过过程差不多,可能由于内存的原因,C8T6需要改动一些东西,不过如果为了了解FreeRTOS,没必要死扣移植过程,可以先了解完后想要移植在进行移植,该工程已经测试可用。 下面是一些基于ZET6的文章: 入门系列:https://blog.csdn.net/manongdky/category_12958368.html 实战系列:https://blog.csdn.net/manongdky/category_12968613.html?spm=1001.2014.3001.5482 感兴趣自行查阅。

2026-04-28

基于STM32驱动电机PID基础运用

主要为了搭配其中PID文章方便查找做的保存: https://blog.csdn.net/manongdky/category_13156730.html?spm=1001.2014.3001.5482

2026-04-22

USART通过DMA转运数据(HAL库版本)

主要就是通过串口实现DMA不定长数据的收发,具体实现逻辑可以参考文章: https://blog.csdn.net/MANONGDKY/article/details/158498592?spm=1001.2014.3001.5501 可以自行移植使用。

2026-03-14

【嵌入式八股文】C语言核心技术与嵌入式系统设计

内容概要:本文系统梳理了嵌入式开发中的核心知识点,涵盖C语言基础、数据结构、嵌入式系统原理及多任务操作系统相关内容。通过问答形式深入讲解了static、const、volatile等关键字的作用,指针、结构体、枚举、联合体的使用方法,以及数组、链表、栈、队列、二叉树等数据结构的实现与应用。进一步阐述了中断处理、RTOS、固件概念、PWM、SPI、I2C、UART、CAN等嵌入式核心技术的工作原理,并结合实际场景分析了进程与线程、死锁、互斥锁与信号量的区别及线程同步机制。全文注重理论与实践结合,突出嵌入式开发中资源受限、实时性要求高等特点。; 适合人群:具备一定C语言基础,从事或有意从事嵌入式开发的研发人员,尤其是工作1-3年、希望夯实基础并提升系统设计能力的工程师。; 使用场景及目标:① 掌握嵌入式开发中C语言高级特性的正确用法,避免常见编程陷阱(如野指针、内存泄漏、编译器优化问题);② 理解并实现常用数据结构,提升代码组织与内存管理能力;③ 深入理解中断、通信协议、RTOS等嵌入式核心技术,支撑实际项目开发;④ 掌握多任务环境下的同步与互斥机制,构建稳定可靠的嵌入式系统。; 阅读建议:建议结合具体嵌入式平台(如STM32)动手实践文中示例代码,重点关注volatile、中断处理、RTOS任务同步等易出错环节,通过调试加深理解,并在项目中逐步应用相关技术以巩固知识。

2026-03-12

【嵌入式八股文】常见问题解析与关键技术指南

内容概要:本文系统梳理了嵌入式系统领域的常见问题,涵盖基础概念、驱动与RTOS、通信协议以及系统设计与优化四大类别,详细解析了嵌入式系统的定义、特点及核心技术原理,包括MCU与MPU区别、ARM架构优势、GPIO/ADC/DAC工作原理、中断机制、SPI/I2C/CAN等通信协议对比,深入探讨了RTOS的任务调度、消息队列、信号量、互斥锁等机制,并涉及低功耗设计、可靠性保障、安全性策略、PCB布局布线、内存管理与性能优化等工程实践要点,全面呈现嵌入式开发中的关键技术挑战与解决方案。; 适合人群:具备一定电子工程或计算机背景,从事嵌入式软硬件研发1-3年的工程师或相关专业学生。; 使用场景及目标:①帮助开发者深入理解嵌入式系统核心机制,如中断处理、实时调度、电源管理等设计原理;②指导实际项目中通信协议选型、低功耗优化、可靠性与安全设计等关键决策;③辅助解决开发过程中常见的死锁、内存泄漏、EMI干扰等问题。;

2026-03-11

基于CH32实现一键开关机设计(定时器版本)

代码完成流程,可以在如下链接跳转到相关博客内容,找到一键开关机定时器版本文章,可以自行移植: https://blog.csdn.net/manongdky/category_12776439.html?spm=1001.2014.3001.5482 代码完成功能: 长按按键(≥1 秒):触发开机 短按按键(30ms):释放按键后切换 LED 工作模式,支持 3 种 LED 模式:全灯闪烁、流水灯、单灯循环闪 长按按键(≥3 秒):触发关机

2026-03-07

基于CH32实现定时器控制LED灯闪烁

通过通用定时器TIM2,实现LED灯每隔1s亮灭一次。 所有资源其对应的流程释意,都可以在如下链接找到对应博客,可自行了解移植: https://blog.csdn.net/manongdky/category_12776439.html?spm=1001.2014.3001.5482

2026-03-07

基于CH32实现非阻塞式一键开关机电路

代码完成流程,可以在如下链接跳转到相关博客内容,找到一键开关机相关文章,可以自行移植: https://blog.csdn.net/manongdky/category_12776439.html?spm=1001.2014.3001.5482 代码完成功能: 长按按键(≥1 秒):触发开机 短按按键(30ms):释放按键后切换 LED 工作模式,支持 3 种 LED 模式:全灯闪烁、流水灯、单灯循环闪 长按按键(≥3 秒):触发关机

2026-03-06

凌鸥LKS32MC071系列单片机·Timer控制无源蜂鸣器实现不同频率声音

凌鸥LKS32MC071系列单片机实现通过Timer定时器来控制无源蜂鸣器。 详细流程可参考文章应用篇章(二):https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-09-15

凌鸥LKS32MC071系列单片机·Timer仿造RTOS实现任务调度实验

凌鸥LKS32MC071系列单片机实现通过Timer定时器,通过时间片轮转,实现任务调度实验。 详细流程可参考文章应用篇章(一):https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-09-08

凌鸥LKS32MC071系列单片机·中断触发软件触发ADC采集电位器电压

凌鸥LKS32MC071系列单片机实现通过中断,不间断发送0x5AA5,触发软件触发ADC采集电位器电压,并将电压通过OLED屏幕打印出来。 详细流程可参考文章ADC部分:https://blog.csdn.net/MANONGDKY/article/details/163535233?spm=1001.2014.3001.5501

2026-08-17

凌鸥LKS32MC071系列单片机·软件触发ADC采集电位器电压

于凌鸥LKS32MC071系列单片机实现软件触发ADC采集电位器电压,并将电压通过OLED屏幕打印出来。 详细流程可参考文章ADC采集软件触发部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-08-08

凌鸥LKS32MC071系列单片机·Timer定时器呼吸灯效果实现

基于凌鸥LKS32MC071系列单片机Timer定时器输出比较模式设计,实现LED1实现呼吸灯效果 详细流程可参考文章输出比较部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-08-05

凌鸥LKS32MC071系列单片机·Timer定时器输出比较模式设计

基于凌鸥LKS32MC071系列单片机Timer定时器输出比较模式设计,实现LLED1引脚以50%的亮度常量,LED2引脚闪烁。 详细流程可参考文章输出比较部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-08-05

凌鸥LKS32MC071系列单片机·Timer定时器实现LED闪烁(江协OLED代码移植版本)

凌鸥LKS32MC071系列单片机通过Timer定时器,实现LED闪烁。 工程详细解释可以查看链接Timer点亮LED部分:https://blog.csdn.net/MANONGDKY/article/details/163310536?spm=1001.2014.3001.5501 该工程为了方便后续文章的使用,移植了江协的OLED显示部分代码。

2026-08-04

凌鸥LKS32MC071系列单片机·DMA实现UART数据发送

凌鸥LKS32MC071系列单片机DMA数据转运,实现UART数据的发送数据转运操作。 详细流程可参考文章(五)DMA部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-08-03

凌鸥LKS32MC071系列单片机·OLED显示

凌鸥LKS32MC071系列单片机,采用江协科技OLED显示代码,进行移植使用,采用软件IIC,只需要更改对应引脚宏定义即可实现引脚变换,当前工程采用引脚是P0.3和P0.4引脚。

2026-07-31

凌鸥LKS32MC071系列单片机·UART实现数据传输printf重定向操作

凌鸥LKS32MC071系列单片机UART实现printf重定向,使用printf打印数据。 详细流程可参考文章(四)UART部分:https://blog.csdn.net/manongdky/category_13195288.html?spm=1001.2014.3001.5482

2026-07-31

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

TA关注的人

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