- 博客(458)
- 收藏
- 关注
原创 Nordic nRF52832 寄存器级 UARTE 发送实现
本文将展示如何在 nRF52832 上直接通过寄存器操作实现 UART 发送功能,无需 SDK 或 HAL 库。这种底层实现适用于对功耗和时序有严格要求的场景。
2025-06-26 16:32:41
159
原创 Nordic GPIO配置方法和特性
本文主要介绍Nordic GPIO核心特性、配置方法和实战技巧。nRF52 系列(如 nRF52832)的 GPIO 控制器提供业界领先的灵活性与低功耗特性,支持 32 个可配置引脚(P0.00-P0.31)。
2025-06-26 07:26:40
557
原创 nRF52832 UART 寄存器操作方法
本文主要介绍nRF52832 UART 寄存器操作方法,nRF52832 的 UART 外设采用 UARTE(UART with EasyDMA)架构,是传统 UART 的增强版,集成了 DMA 传输引擎和灵活的低功耗控制。
2025-06-25 23:36:24
601
原创 k_work_schedule函数功能
本主要介绍k_work_schedule函数功能和Zephyr RTOS 的工作队列(Workqueue),Zephyr RTOS 的工作队列(Workqueue)是其异步任务处理的核心机制,专为资源受限的嵌入式系统设计。它提供了一种高效、线程安全的方式执行延迟任务、中断下半部处理以及周期性操作。
2025-06-25 18:04:57
487
原创 蓝牙广播睡眠计划:深度优化BLE设备功耗策略
广播睡眠计划(Advertising Sleep Schedule)是一种针对蓝牙低功耗(BLE)设备的电源管理策略,通过智能控制广播周期和深度睡眠状态,在保持设备可发现性的同时最大化电池寿命。其主要要求BLE设备按照预设的时间模式和触发条件,在广播活动期和深度睡眠期之间周期性切换的电源管理方案。
2025-06-24 14:08:51
850
原创 Zephyr OS蓝牙广播(Advertising)功能实现
本文主要介绍Zephyr RTOS蓝牙广播(Advertising)功能实现,Zephyr RTOS为Nordic芯片提供了强大的蓝牙支持,使开发者能够高效实现BLE功能。下面我将详细介绍在Zephyr OS上实现蓝牙广播的完整流程。
2025-06-24 13:51:00
497
原创 我的创作纪念日(CSDN撰写技术博客的心路历程)
《技术写作的成长之路》摘要:作者分享在CSDN撰写技术博客的心路历程,从最初寻找合适平台到坚持写作的收获。写作不仅帮助整理知识体系、验证理解深度,更成为技术复盘的有效工具。文章详细介绍了选题流程:确定学习方向→系统学习→知识整理→主题写作。自2024年起专注于嵌入式开发、Linux驱动等底层技术领域,创作高质量技术文章90余分。未来将继续深耕底层实现原理,以严谨的技术分享回馈社区,同时结识志同道合的技术爱好者。
2025-06-22 18:00:21
449
原创 Zephyr RTOS 中的互斥信号量(Mutex)的介绍
本文主要介绍Zephyr RTOS 中的互斥信号量(Mutex),互斥信号量(通常称为 mutex)是用于线程同步和保护共享资源的核心机制。它提供了比信号量更高级的同步功能,特别适合处理临界区问题。与普通信号量不同,互斥信号量具有所有权概念和高级特性,能有效解决优先级反转等问题。
2025-06-18 14:29:12
552
原创 Zephyr RTOS 中的 K_WORK_DEFINE 功能
本文主要介绍Zephyr RTOS k_work相关的用法,包括工作队列的定义,使用方法,使用流程,应用技巧等内容。
2025-06-17 00:30:00
733
原创 Zephyr RTOS 中先进先出队列(FIFO)
本文主要介绍Zephyr RTOS 中先进先出队列(FIFO),在 Zephyr RTOS 中,先进先出队列(FIFO)是一种常用的数据结构,用于任务间通信和数据传递。FIFO 保证数据按照写入顺序被读取,适用于生产者-消费者模型。
2025-06-16 03:45:00
368
原创 Zephyr RTOS 中k_lifo(后进先出队列)
K_LIFO是Zephyr实时操作系统(RTOS)中提供的一种后进先出(LIFO)内核对象实现,用于管理固定大小的数据缓冲区。它通过栈结构(Last In, First Out)实现数据的存储与取出,适用于需要快速插入和删除数据的场景。
2025-06-16 03:15:00
851
原创 QMI8658A 六轴惯性测量单元的应用介绍
本文主要介绍QMI8658A 的芯片的相关内容,包括寄存器的相关参数,驱动程序的实现。QMI8658A 是矽睿科技(QST)推出的高性能6轴MEMS惯性测量单元,集成了3轴加速度计和3轴陀螺仪,专为工业级应用设计,具有卓越的温度稳定性和抗冲击能力。
2025-06-15 19:03:16
694
原创 Zephyr RTOS 中的Work Queue组件的应用
本文主要介绍Zephyr RTOS 中的Work Queue组件的应用,zephyr RTOS中的Work Queue是一个用于在后台执行任务的机制。它允许将任务添加到队列中,然后由系统在适当的时间执行这些任务。Work Queue可以用于执行一些不需要立即响应的任务,从而避免阻塞主线程。
2025-06-15 03:15:00
1145
原创 RTOS临界区的保护机制详解
本文主要介绍RTOS临界区的保护机制,临界区指访问共享资源(如全局变量、外设寄存器)的代码段,需保证其执行的原子性,避免数据竞争。文章介绍了在RTOS中保护临界区的各种方法。
2025-06-15 00:15:00
653
原创 嵌入式操作系统的概述
本文主要介绍实时系统的概念。实时系统概述:分为硬实时和软实时两类。还介绍了两个经典实时操作FreeRTOS和ZephyrOS的相关内容。
2025-06-14 10:03:17
621
原创 Nordic nRF52832使用寄存器实现SPI功能
本文详细介绍了nRF52832芯片的SPI接口寄存器配置与功能实现。主要内容包括:1)SPI主设备框架结构,重点说明双缓冲TXD/RXD寄存器的工作机制;2)SPI主模式下的引脚配置(SCK/MOSI/MISO)与时序控制要求;3)给出了完整的寄存器定义表,涵盖使能、引脚选择、频率配置等关键寄存器;4)基于Zephyr平台提供了SPI驱动实现方案,包含初始化代码、数据传输函数及芯片选择控制逻辑,并附有完整的源代码示例。特别强调SPI主设备不直接支持片选功能,需通过GPIO独立控制从设备选择。
2025-05-29 17:02:56
1097
原创 pytest和Allure搭建自动化测试平台
本文介绍了Python自动化测试环境的搭建及测试框架的使用方法。主要内容包括:环境准备:下载安装Python(建议3.11以下版本)、Allure测试报告框架及Java虚拟机,并配置相关环境变量;pytest架构,编写和运行case,并生成report。
2025-05-28 03:15:00
1199
原创 Zephyr OS: periodic_sync_rsp代码架构和实现
本文主要介绍periodic_sync_rsp,periodic_sync_rsp是蓝牙5.0+中管理周期性广播同步响应的核心功能,通过配置同步参数(如响应选项、超时时间、子事件数)实现设备间的精准同步。
2025-05-27 00:30:00
1019
原创 Zephyr OS: periodic_adv_rsp代码架构和实现
本文介绍了基于Zephyr OS的蓝牙周期性广播系统架构与实现。系统采用三部分设计:初始化部分完成蓝牙连接接口、广播参数设置及启动功能;主循环实现设备发现、数据传输和GATT操作;错误处理模块管理连接状态。
2025-05-27 00:15:00
1175
原创 Zephyr OS 下的bt_gatt_subscribe 函数的功能和应用
本文主要介绍 Zephyr OS 下的bt_gatt_subscribe 函数的功能和应用,GATT是蓝牙低功耗(BLE)的核心协议,定义了通过服务和特征进行数据通信的标准框架。
2025-05-26 01:00:00
1040
原创 Zephyr OS 下的bt_gatt_write函数功能和应用
本文介绍了BLE核心协议GATT的基本概念及应用方法,重点分析了bt_gatt_write函数的实现。GATT定义了BLE设备通过服务和特征交换数据的标准框架,包含服务器、客户端和层级化组件结构。文章详细阐述了bt_gatt_write函数的参数配置、四种写入操作类型(带响应/无响应/准备/执行写入),并提供了多种应用场景的代码示例(基本写入、长数据分片、安全写入等)。同时介绍了错误处理机制、性能优化技巧(MTU优化、写入队列)以及资源管理注意事项(参数生命周期、并发控制)。1 GATT 基本概念。
2025-05-26 00:15:00
963
原创 Zephyr OS 下的bt_gatt_discover函数应用介绍
本文介绍了蓝牙低功耗(BLE)中的GATT协议及其核心功能。GATT定义了BLE设备通过服务和特征交换数据的标准框架,包含服务器和客户端两种角色。文章详细解析了GATT的核心组件(服务、特性、描述符)及其层级结构,并以Zephyr协议栈中的bt_gatt_discover函数为例介绍其主要用法
2025-05-25 00:30:00
1488
原创 Zephyr OS 下的 bt_gatt_read函数的功能和应用
本文详细介绍了蓝牙低功耗(BLE)中的GATT协议及其关键组件,重点分析了Zephyr协议栈中的bt_gatt_read函数。文章首先阐述了GATT的基本概念及其在BLE通信中的核心作用,包括服务(Service)、特性(Characteristic)和描述符(Descriptor)的层级结构。
2025-05-25 00:15:00
1079
原创 GATT 服务的核心函数bt_gatt_discover的介绍
本文介绍GATT的核心组件(服务、特性、描述符)及其层级结构,并以Zephyr协议栈中的bt_gatt_discover函数为例,说明其参数配置、发现类型和使用流程,包括服务发现、级联发现、UUID过滤等典型应用场景。最后还列举了常见错误码及处理方法,为BLE应用的开发提供了实用指导。
2025-05-24 17:51:56
663
原创 Zephyr OS下GATT的服务端(Server)接口
本文主要介绍Zephyr OS下GATT的服务端(Server)接口 ,GATT(通用属性配置文件)是蓝牙低功耗(BLE)协议中的核心组件,定义了服务端与客户端之间的数据交互架构。
2025-05-24 10:20:56
930
原创 Bluetooth Low Energy (BLE) 的GATT服务
本文主要介绍Bluetooth Low Energy (BLE) 的GATT服务的相关概念。GATT(通用属性配置文件)是蓝牙低功耗(BLE)的核心协议,定义了数据通信标准框架。
2025-05-24 09:45:38
831
原创 Zephyr OS 使能和失能蓝牙协议栈的操作
本文介绍了Zephyr RTOS中三个关键的蓝牙API接口:bt_disable、bt_enable和bt_reset的功能及其使用方法。
2025-05-23 11:14:09
793
原创 Bluetooth Low Energy (BLE)的通信信道和包类型
本文主要介绍蓝牙低功耗(BLE)的通信信道和包类型。蓝牙低功耗(BLE)技术在2.4GHz ISM频段工作,使用40个物理信道,其中3个为广播信道,37个为数据信道。广播信道用于设备发现、连接建立和广播通信,分布在频段两端和中间以减少Wi-Fi干扰。广播包在3个信道上重复发送以提高可靠性。数据信道用于已连接设备间的数据通信,采用自适应跳频技术选择信道。
2025-05-22 22:51:56
904
原创 Zephyr OS 中的互斥信号量
本文主要介绍Zephyr OS 中的互斥信号量的相关内容。互斥信号量(Mutex)是操作系统中的一种线程同步机制,用于保护共享资源,防止多个线程同时访问导致的竞态条件。
2025-05-22 21:37:17
1064
原创 Nordic 的RTC(Real-time counter)的介绍
本文主要介绍Nordic 的RTC(Real-time counter),实时计数器(RTC)模块是一种低功耗定时器,运行在低频时钟源(LFCLK)上,具有24位计数器、12位预分频器、捕获/比较寄存器和tick事件生成器。RTC的分辨率为30.517µs,能够在高频时钟(HFCLK)关闭时运行,且在使用前需显式启动LFCLK。RTC的时钟源包括多种内部和外部振荡器,时钟分布自动化以降低功耗。
2025-05-18 13:43:56
985
原创 FIFO的应用案例(基于Zephyr OS )
本文介绍了在nRF52832开发板上使用Zephyr操作系统进行FIFO(先进先出队列)功能开发的软硬件环境及实现步骤。软件开发环境基于Nordic提供的nRF Connect SDK,集成了Zephyr平台、编译工具链和VS Code开发环境。
2025-05-17 17:58:27
1039
原创 Zephyr OS 中的 FIFO 接口应用介绍
本文主要介绍Zephyr RTOS 提供了多种 FIFO (First-In-First-Out) 实现方式,其可以适用于不同场景的数据缓冲需求。以下是主要的 FIFO 接口和使用方法。
2025-05-17 12:32:56
820
原创 Zephyr OS Nordic芯片的Flash 操作
本文主要介绍基于 Zephyr OS 操作 Nordic 芯片的 Flash 存储器,其主要涉及以下几个方面:Nordic 内部Flash的资源,操作Flash的接口,验证读写数据功能等内容。
2025-05-16 22:19:59
1054
原创 Zephyr 定时器的使用方法
本文主要介绍Zephyr 定时器的使用方法,包括几个重要的接口函数的介绍和使用方法。Zephyr RTOS 提供了几种定时器机制,可以用于周期性任务、超时处理和延迟操作。以下是 Zephyr 定时器的主要使用方法:
2025-05-10 04:58:07
789
原创 nRF Connect SDK system off模式介绍
System Off 模式是 Nordic nRF 系列芯片最省电的工作模式,在 nRF Connect SDK 中通过 Zephyr RTOS 的电源管理框架提供完善支持。本文通过一个demo介绍system off功能的用法及其相关函数的功能。
2025-05-07 22:30:08
693
原创 MCUboot 中的 BOOT_SWAP_TYPE_PERM 功能介绍
BOOT_SWAP_TYPE_PERM 是 MCU boot 引导加载程序中用于表示永久性固件交换的状态标志,是固件升级流程中的关键机制之一。本文主要介绍该参数以及与之相关参数的功能和使用方法。
2025-05-05 23:05:30
1197
原创 解析MCUboot的实现原理和Image结构
本文主要介绍MCUboot的实现原理和Image的结构,主要包括MCUboot的Image的格式,交换区,Resetrecovery等概念,还介绍了使用Image进行代码更新的步骤。
2025-05-04 11:15:30
1851
原创 zephyr OS架构下构建Nordic MCU boot
本文主要介绍在架构下为Nordic MCU(如 nRF52/nRF53 系列) 构建MCUboot引导加载程序,需要遵循的主要步骤。包括MCU boot介绍,VS-Code下创建MCU-BOOT项目的方法,以及在nRF52840开发板上验证该程序。字段解析:magic=goodmagic: 是一个固定值(例如 0x77d4b535),用于验证镜像头的有效性。good: 表示该值匹配预期,说明镜像头部是合法的,可以被引导加载程序识别。
2025-05-04 02:00:00
1287
3
lvgl-demo-MusicPlayer
2024-06-18
stm32-f407-lcd-lvgl-proj-MusicPlayer
2024-06-18
STM32F407之移植LVGL(8.4.0stm32-f407-lcd-lvgl-proj)
2024-06-18
VMware-workstation-full-15.5.6-16341506
2024-06-15
和lvgl UI开发仿真相关的软件
2024-06-15
N32G45XVL-STB之移植LVGL(lvgl-8.2.0)
2024-06-08
使用PID算法实现DAC模拟量输出的快速调节
2024-05-30
stm32-f103-rct6-motor-speed
2024-05-29
PID算法在电机速度控制上的应-测试源码
2024-05-28
STM32高级控制定时器(STM32F103):PWM 输入模式
2024-05-25
stm32-f103-rct6-输入捕获测试代码
2024-05-25
stm32-f407-bmp085-proj
2024-05-21
stm32-f407-fsmc-sRAM
2024-05-16
stm32-f407-lcd-ft6336-proj
2024-05-12
基于STM32移植lvgl(V8.2)(SPI接口的LCD)
2024-05-10
使用模拟SPI接口驱动ST7796-LCD,主控MCU为STM32F407芯片 笔者详细介绍整个驱动的实现过程,并使用STM32
2024-05-08
stm32-f407-dm9161-LwIP-tcp-client
2024-04-28
stm32f407-dm9161-drv
2024-04-28
stm32f4 hal 库中的外部中断测试程序
2024-04-22
nrf52-development-kit-nRF52832-DK-BOARD, 包括原理图,PCB等相关设计资料
2025-06-08
直流无刷电机控制(FOC):速度闭环模式 直流无刷电机控制(FOC):电流模式 直流无刷电机控制(FOC):位置模式
2025-01-09
基于野火Renesas R7FA8D1BH (Cortex-M85)开发板,设计的一款智能控制小车
2024-10-10
RT-Thread Nano版本在STM32F103RB上的快速移植
2024-09-09
RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)
2024-09-07
Renesa Version Board开发RT-Thread 之UART驱动应用
2024-08-25
NUCLEO-F446RE: STM32F446RE实现多通道ADC转换功能实现(DMA)
2024-07-06
STM32F103RB多通道ADC转换功能实现(DMA)
2024-07-05
FSP-Project-RA8-adc-oled:Renesas R7FA8D1BH (Cortex-M85) 的综合应用
2024-07-01
FSP-Project-RA8-uart-test:Renesas R7FA8D1BH (Cortex-M85)串口应用总结
2024-06-29
FSP-Project-RA8-test:搭建瑞萨R7FA8D1BHECBD-BTB的开发调试环境(DAP-LINK: N32G
2024-06-28
W25QXX-STM32F4-ALY:设计NOR Flash(SPI接口)的Flashloader(MCU: stm32f4)
2024-06-28
M29W128GL-STM32F4-ALY 源代码
2024-06-27
将lvgl源代码转换为.lib(stm32-f407-lvgl-lib-proj)
2024-06-21
应用lvgl的.lib 的一个范例(stm32-f407-lvgl-lib-ui-proj)
2024-06-21
通用性I2C接口的应用之驱动SHT20(N32G45XVL-STB)
2024-06-19
STM32F407之移植LVGL(8.4.0)-UI
2024-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人