Nordic MCU系列笔记
文章平均质量分 91
mftang
资深嵌入式软件开发者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Zephyr RTOS 中FIFO(先进先出队列)接口介绍
在 Zephyr RTOS 中,FIFO(先进先出队列) 是用于在线程间传递数据的基本内核对象之一。与 LIFO 的后进先出顺序不同,FIFO 保证了数据按照被添加的顺序被取出,这对于许多通信和任务处理场景至关重要。通过合理使用 FIFO,可以在 Zephyr 系统中构建高效、松耦合的多线程架构。对于简单的生产者-消费者模式,FIFO 通常是比消息队列或邮箱更轻量、更灵活的选择。原创 2026-06-01 09:38:22 · 389 阅读 · 0 评论 -
Zephyr RTOS 中k_msgq(消息队列)接口介绍
在 Zephyr RTOS 中,k_msgq(消息队列)是用于在线程间传递 固定大小消息 的核心进程间通信(IPC)机制。与传递字节流的管道或传递指针的 FIFO/LIFO 不同,消息队列完整复制消息内容,确保数据所有权清晰,是最常用的线程间通信方式之一。通过合理使用消息队列,可以在 Zephyr 系统中构建清晰、可靠、高效的线程间通信架构。对于大多数应用场景,消息队列都是比管道、FIFO/LIFO 或邮箱更简单和安全的选择。原创 2026-05-25 14:06:40 · 598 阅读 · 0 评论 -
Zephyr RTOS 中k_mutex(互斥锁)功能介绍
在 Zephyr RTOS 中,k_mutex(互斥锁)是用于保护共享资源,防止多个线程同时访问导致数据竞争的核心同步机制。它确保在任何时刻,只有一个线程可以进入被保护的代码区域(临界区)。原创 2026-05-25 12:00:17 · 415 阅读 · 0 评论 -
Zephyr RTOS 中k_condvar(条件变量)功能介绍
在 Zephyr RTOS 中,k_condvar(条件变量) 是一种高级的线程同步机制,它允许一个或多个线程等待某个条件成立,并在条件可能成立时由其他线程通知唤醒。条件变量总是与互斥锁 (k_mutex) 配合使用,用于实现复杂的线程间协调,如生产者-消费者模式。原创 2026-05-21 14:25:12 · 382 阅读 · 0 评论 -
Zephyr RTOS 中irq_lock() 与 irq_unlock()的应用
irq_lock() 与 irq_unlock() 是 Zephyr RTOS 中用于管理中断状态、保护临界区的一对底层核心函数。它们不是简单地“关闭和打开中断”,而是“保存当前中断状态并禁止中断,然后根据保存的状态恢复中断”。原创 2026-05-11 10:49:18 · 407 阅读 · 0 评论 -
struct bt_conn_auth_cb蓝牙(BLE)连接认证 / 配对过程的回调接口集合
struct bt_conn_auth_cb 是蓝牙(特别是 BLE)连接认证和配对过程中的回调接口集合,通常用于处理配对请求、密码显示、确认等交互。这个回调接口集合为BLE设备提供了灵活的配对交互方式,开发者可以根据设备类型和用户场景选择合适的配对策略。原创 2026-05-08 10:59:17 · 535 阅读 · 0 评论 -
Zephyr RTOS 中k_cpu_idle 函数功能介绍 - D
在 Zephyr RTOS 中,k_cpu_idle 函数是内核空闲循环的核心,负责在系统没有就绪线程可执行时,将 CPU 置于低功耗的睡眠状态。它是 Zephyr 实现节能的基石。简单来说,它的核心作用是:当内核无事可做时,它会让 CPU 以一种可被中断唤醒的方式“打盹”,以节省电力。原创 2026-05-07 18:11:33 · 442 阅读 · 0 评论 -
Zephyr RTOS 中用于同步多路复用 I/O 的核心机制k_poll 相关函数用法
k_poll 是 Zephyr RTOS 中用于同步多路复用 I/O 的核心机制。它允许单个线程同时等待多个不同类型的事件(如信号量、消息队列、信号等),并在任一事件就绪时被唤醒,是实现高效事件驱动架构的关键。k_poll 是构建高效、响应式系统的强大工具。通过合理使用这些函数,可以创建出能够同时处理多个事件源而无需复杂线程管理的嵌入式应用。原创 2026-05-06 15:50:01 · 532 阅读 · 0 评论 -
Zephyr RTOS 中 BT_CONN_CB_DEFINE 详解
BT_CONN_CB_DEFINE 是 Zephyr Bluetooth API 中的一个关键宏,用于静态定义和自动注册蓝牙连接回调函数。它简化了连接事件处理的配置,避免了手动注册回调的繁琐过程。原创 2026-04-28 15:13:06 · 449 阅读 · 0 评论 -
nRF52805的低功耗特性深度分析
nRF52805 是 Nordic 公司研发的低功耗蓝牙系统级芯片(SoC),其核心设计理念为“极深休眠与动态能效优化相结合”,专门针对蓝牙 5.2 协议及 2.4GHz 私有协议应用场景进行开发。该芯片的核心技术优势在于兼顾低功耗性能与小封装特性,可适配纽扣电池供电的长期待机设备,包括蓝牙信标、一次性医疗设备、微型传感器、触控笔等,是紧凑型低功耗无线产品的优选技术解决方案。原创 2026-04-08 14:56:46 · 607 阅读 · 0 评论 -
Nordic nRF52805 Zephyr OS下低功耗模式应用详细介绍-D
nRF52805 是 Nordic 公司研发的低功耗蓝牙系统级芯片(SoC),其核心设计理念为“极深休眠与动态能效优化相结合”,专门针对蓝牙 5.2 协议及 2.4GHz 私有协议应用场景进行开发。该芯片的核心技术优势在于兼顾低功耗性能与小封装特性,可适配纽扣电池供电的长期待机设备,包括蓝牙信标、一次性医疗设备、微型传感器、触控笔等,是紧凑型低功耗无线产品的优选技术解决方案。原创 2026-04-08 14:01:08 · 540 阅读 · 0 评论 -
nRF52805 时钟配置功能详细介绍
nRF52805 是 Nordic 推出的低功耗蓝牙 SoC,其时钟系统设计为满足低功耗和高性能的平衡需求。以下是详细的时钟配置功能介绍:原创 2026-04-03 13:46:38 · 575 阅读 · 0 评论 -
nRF54LM20B 芯片相关技术: Nordic端到端边缘AI方案
Nordic Semiconductor新推出的nRF54LM20B是一款专为电池供电物联网设备设计的、集成神经网络处理器(NPU)的超低功耗无线系统级芯片(SoC)。它代表了Nordic在边缘人工智能(Edge AI)领域的最新进展。原创 2026-01-16 15:46:11 · 822 阅读 · 0 评论 -
Nordic典型芯片nRF5340的功能介绍
本文介绍了Nordic公司的无线SoC芯片:nRF5340采用双Cortex-M33架构,支持蓝牙5.4等协议,具备更高的安全性能该芯片均具备多协议支持、低功耗特性,并针对物联网应用提供不同级别的安全方案,适用于从可穿戴设备到智能家居等多种场景。原创 2025-12-25 15:27:01 · 1254 阅读 · 0 评论 -
Zephyr OS BLE NUS Client 功能实现
在Zephyr OS中实现BLE NUS Client功能,意味着你的设备将作为中心设备,主动去连接一个提供NUS服务的设备,并与之进行双向数据通信(类似虚拟串口)。本文主要梳理其核心机制、实现流程、代码结构和关键配置。原创 2025-12-12 17:55:51 · 809 阅读 · 0 评论 -
蓝牙测向原理介绍: AoA与AoD
本文主要介绍蓝牙测向原理AoA与AoD,蓝牙测向是一项基于蓝牙5.1核心规范引入的革命性技术,它使蓝牙设备能够确定无线电信号的传播方向,从而实现了比传统基于信号强度的定位方式更精准、更可靠的定位和位置追踪。原创 2025-12-03 00:15:00 · 1408 阅读 · 0 评论 -
蓝牙Mesh协议介绍
本文主要介绍蓝牙Mesh协议 。它不仅仅是传统蓝牙的简单延伸,而是一套全新的、专为大规模设备网络设计的通信标准。蓝牙Mesh 是蓝牙技术联盟为填补大规模、低功耗设备组网空白而推出的重要协议。它巧妙地将低功耗蓝牙的广播特性转化为网状网络的基石,通过消息洪泛、分层安全和功能模型,为智能楼宇和家居提供了稳定、安全、可互操作的解决方案。尽管在实时性和功耗上有一定权衡,但其与生俱来的手机友好性和强大的生态系统使其在市场上占据了重要地位。原创 2025-12-02 11:37:27 · 1458 阅读 · 0 评论 -
新一代无线 SoC(nRF54系列)的特性
nRF54L 系列将广受欢迎的 nRF52 系列提升到新的水平,专为下一代蓝牙 LE 产品而设计。它集成了新型超低功耗 2.4 GHz 无线电和多用途 MCU 功能,采用 128 MHz Arm Cortex-M33 处理器,处理能力翻倍,处理效率提高两倍。nRF54L 系列中的三款无线 SoC 提供多种内存大小选择,最大 1.5 MB NVM,最大 256 KB RAM,适用于各种蓝牙 LE 应用。原创 2025-12-02 11:15:03 · 1093 阅读 · 0 评论 -
Nordic 3款典型芯片(nRF52840、nRF5340和nRF54L15)的特性介绍
本文介绍了Nordic公司的三款无线SoC芯片:nRF52840、nRF5340和nRF54L15。nRF52840是nRF52系列的高端产品,支持多协议并发,具有Arm Cortex-M4内核和CryptoCell加密单元。nRF5340采用双Cortex-M33架构,支持蓝牙5.4等协议,具备更高的安全性能。最新nRF54L15基于22nm工艺,性能提升3倍,支持蓝牙6.0、Matter等新协议,并集成RISC-V协处理器。三款芯片均具备多协议支持、低功耗特性,并针对物联网应用提供不同级别的安全方原创 2025-12-01 00:30:00 · 2277 阅读 · 0 评论 -
Zephyr RTOS 中k_work_init_delayable 函数功能(D)
k_work_init_delayable 函数的核心功能是:初始化一个“可延迟的工作项”(delayable work),将其设置为一个待执行的函数,但这个函数可以指定在未来的某个时间点执行,而不是立即提交到工作队列。它是 Zephyr 工作队列(Work Queue)机制中用于延迟/定时任务的关键组件。原创 2025-09-09 17:14:29 · 1411 阅读 · 0 评论 -
等时信道 (Isochronous Channel) 发送数据函数: bt_iso_chan_send 的用法
bt_iso_chan_send 是 Zephyr RTOS 蓝牙协议栈中的一个核心函数,用于通过等时信道 (Isochronous Channel) 发送数据。这个函数在蓝牙 5.2 及更高版本的等时通信中扮演关键角色,特别是在 LE Audio 和其他需要时间同步的高质量数据传输应用中原创 2025-09-04 00:15:00 · 1003 阅读 · 0 评论 -
Zephyr 广播等时组 (Broadcast Isochronous Group)的实现原理和应用介绍
广播等时组 (BIG) 是蓝牙 5.2 规范中引入的核心功能,主要用于支持 LE Audio 和其他需要广播等时通信的应用场景。Zephyr RTOS 提供了完整的 BIG 实现。通过 Zephyr 的 BIG 实现,开发者可以构建高质量的 LE Audio 应用、实时数据广播系统和多设备同步控制应用,充分发挥蓝牙 5.2 等时通信的潜力。原创 2025-09-04 00:15:00 · 1265 阅读 · 0 评论 -
Zephyr RTOS 蓝牙等时(Isochronous)功能
Zephyr RTOS 提供了完整的蓝牙等时通信功能支持,包括连接式等时流 (CIS) 和广播等时流 (BIS)。这些功能为 LE Audio 和其他需要时间同步的应用提供了强大的基础。通过合理配置 QoS 参数和实现适当的回调函数,开发者可以构建高质量、低延迟的音频和实时数据应用。原创 2025-09-03 00:30:00 · 1851 阅读 · 0 评论 -
蓝牙 bt_pbp_parse_announcement 函数功能
bt_pbp_parse_announcement 函数是蓝牙协议栈中的一个重要函数,主要用于解析周期性广播响应(Periodic Advertising Response) 中的数据。这个函数属于蓝牙 5.0 及以上版本引入的扩展广播(Extended Advertising)功能的一部分。该函数是蓝牙设备间通信的基础,特别是在使用扩展广播和周期性广播的高级应用中,它提供了从原始广播数据中提取结构化信息的关键能力。原创 2025-09-03 00:15:00 · 806 阅读 · 0 评论 -
周期广播函数bt_le_per_adv_start 功能和应用
bt_le_per_adv_start 函数。这是 Zephyr RTOS 中 Bluetooth LE 的一个高级功能,用于启动周期性广播(Periodic Advertising)。其是开启 Bluetooth LE 强大功能——单向、低功耗、大数据量、可同步广播——的钥匙,是构建下一代音频广播(Auracast)、大规模传感器网络等应用的基石。原创 2025-09-02 14:43:17 · 1400 阅读 · 0 评论 -
Zephyr RTOS中bt_le_adv_start 函数功能介绍和使用方法
本文主要介绍Zephyr RTOS中bt_le_adv_start 函数功能介绍和使用方法,bt_le_adv_start 函数是 Zephyr RTOS 蓝牙协议栈 (Bluetooth LE) 中一个非常核心的 API,用于启动设备的广播。bt_le_adv_start 是配置设备如何被发现和广播什么信息的关键函数。正确设置其参数和数据内容是开发 BLE 外设应用的第一步。原创 2025-09-02 00:15:00 · 1366 阅读 · 0 评论 -
SEGGER Embedded Studio 8.22a 搭建Nirdic 开发环境
本文主要介绍如何在 SEGGER Embedded Studio (SES) 8.22a 中搭建 Nordic nRF5x 系列芯片 的开发环境。整个过程分为三个主要部分:安装必要的软件、在SES中配置Nordic支持 和 创建/导入第一个项目。原创 2025-09-01 00:45:00 · 1355 阅读 · 0 评论 -
nRF Connect SDK 中 Direct Test Mode (DTM) 的 Physical Layer 参数配置与使用
本文主要介绍nRF Connect SDK 中 Direct Test Mode (DTM) 参数配置与使用 Physical Layer的方法,以下是针对 nRF Connect SDK 中 Direct Test Mode (DTM) 的 Physical Layer 参数配置与使用 的详细指南,涵盖从环境配置到射频测试的完整流程:原创 2025-09-01 00:30:00 · 1504 阅读 · 0 评论 -
蓝牙三边定位系统的技术方案设计与实现
蓝牙三边定位系统在Zephyr中的实现需要综合考虑信号处理、算法优化和环境适应性。通过合理部署信标、实施环境校准、采用滤波算法和优化扫描策略,可以在室内环境中实现1-3米的定位精度,满足资产追踪、室内导航等应用需求。系统可进一步扩展为混合定位系统,结合IMU、UWB等技术实现更高精度。原创 2025-08-21 00:15:00 · 1399 阅读 · 0 评论 -
蓝牙定位功能介绍和实现原理
蓝牙定位功能,主要涉及蓝牙技术中的定位方法,如RSSI(接收信号强度指示)、AoA(到达角)、AoD(出发角)等。在Zephyr RTOS中,我们可以使用其蓝牙协议栈来实现定位功能。以下是一个全面的指南,包括关键概念、实现步骤和代码示例。技术类型精度功耗复杂度适用场景RSSI定位1-5米低低区域检测、存在感知AoA/AoD0.1-1米中高室内导航、资产追踪邻近感知接触级极低低接触追踪、智能门锁。原创 2025-08-21 00:15:00 · 2085 阅读 · 0 评论 -
Zephyr 中 bt_gatt_indicate_params 数据结构
bt_gatt_indicate_params 是 Zephyr 蓝牙协议栈中用于配置 GATT 指示操作的核心数据结构。指示(Indication)是一种需要客户端确认的可靠数据传输机制,适用于关键数据更新和控制操作。该数据结构是 Zephyr 蓝牙协议栈中实现可靠数据传输的关键数据结构。通过合理管理其生命周期、正确处理回调函数并优化资源使用,可以构建高效可靠的蓝牙应用系统,特别适用于需要确认的关键操作和数据传输场景。原创 2025-08-20 00:45:00 · 1074 阅读 · 0 评论 -
Zephyr 中的 BT_GATT_CHARACTERISTIC的介绍和使用方法
BT_GATT_CHARACTERISTIC 是 Zephyr 蓝牙协议栈中用于定义 GATT 特征的核心宏。它是构建 GATT 服务的基础组件,用于实现设备间数据交换的关键特性。该宏是构建蓝牙 GATT 服务的基石,通过合理设计特征属性、权限和回调函数,可以实现从简单的数据传输到复杂的设备控制等各种应用场景。原创 2025-08-20 00:15:00 · 1186 阅读 · 0 评论 -
Zephyr 中的 bt_gatt_indicate 函数介绍和应用方法
bt_gatt_indicate 是 Zephyr 蓝牙协议栈中用于发送 GATT 指示的核心函数。与通知不同,指示需要客户端确认,提供了更可靠的数据传输机制,适用于关键数据更新。该函数提供了可靠的 GATT 数据传输机制,适用于需要确认的关键操作。通过合理的资源管理、错误处理和流控制,可以构建高效可靠的指示系统。原创 2025-08-19 09:21:24 · 1130 阅读 · 0 评论 -
Zephyr 中的 bt_gatt_notify 介绍和使用方法
bt_gatt_notify 是 Zephyr 蓝牙协议栈中用于发送 GATT 通知的核心函数。它允许服务器主动向客户端发送数据更新,而无需客户端先发起读请求,是实现实时数据推送的关键机制。该函数是实现蓝牙设备实时数据推送的核心机制,通过合理设计通知策略、优化数据格式和实现健壮的错误处理,可以构建高效可靠的蓝牙通信系统原创 2025-08-19 00:15:00 · 999 阅读 · 0 评论 -
Zephyr 中 BT_GATT_SERVICE_DEFINE 使用详解
BT_GATT_SERVICE_DEFINE 是 Zephyr 蓝牙协议栈中用于定义和注册 GATT 服务的核心宏。它允许开发者以声明式的方式创建完整的 GATT 服务结构,包括服务本身、特征、描述符以及相关回调函数。该宏是构建 Zephyr 蓝牙服务的基石,通过合理组织服务结构、实现高效回调函数和优化资源配置,可以创建稳定可靠且功能丰富的 GATT 服务。原创 2025-08-18 15:59:14 · 1696 阅读 · 0 评论 -
Zephyr 中的 bt_le_per_adv_set_data 函数的介绍和应用方法
bt_le_per_adv_set_data() 是 Zephyr RTOS 蓝牙协议栈中用于设置周期性广播数据的关键函数。它允许设备配置周期性广播的数据内容,这是蓝牙 5.0 及以上版本支持的高级特性。该函数是实现高效周期性广播系统的核心,通过合理设计数据结构和更新机制,可以构建从低功耗传感器网络到高质量音频广播等各种应用。原创 2025-08-18 13:21:09 · 866 阅读 · 0 评论 -
BT_LE_ADV_CONN_ONE_TIME 参数详解
在蓝牙低功耗(BLE)协议栈中(如Zephyr RTOS),BT_LE_ADV_CONN_ONE_TIME是一个组合广播选项,用于配置一次性可连接广播的行为。此参数是BLE设备实现按需广播和节能优化的关键机制,特别适合物联网设备场景。原创 2025-08-17 20:15:56 · 1223 阅读 · 0 评论 -
nRF21540 射频模块的介绍和应用方法
nRF21540 是 Nordic Semiconductor 推出的高性能射频前端模块(FEM),专为增强 nRF52/nRF53 系列 SoC 的无线性能而设计。用于低功耗蓝牙®,蓝牙®mesh、Thread和Zigbee和2.4 GHz私有协议范围扩展的射频前端模块(FEM)。原创 2025-08-13 10:52:20 · 846 阅读 · 0 评论 -
Zephyr RTOS 中的 k_timer定时器
本文主要介绍Zephyr RTOS 中的 k_timer定时器的函数,k_timer_start是 Zephyr RTOS 中用于启动内核定时器的核心函数,提供了精确的时间事件调度能力。k_timer_stop 是 Zephyr RTOS 中用于停止运行中定时器的核心函数。k_timer_init 是 Zephyr RTOS 中用于初始化内核定时器的核心函数,它为定时器设置基本参数和回调处理函数,是使用定时器功能前的必要步骤。原创 2025-07-25 13:08:22 · 1234 阅读 · 0 评论 -
nRF21540 射频模块介绍和功能实现
nRF21540 是 Nordic Semiconductor 推出的高性能射频前端模块(FEM),专为增强 nRF52/nRF53 系列 SoC 的无线性能而设计。用于低功耗蓝牙®,蓝牙®mesh、Thread和Zigbee和2.4 GHz私有协议范围扩展的射频前端模块(FEM)。原创 2025-07-24 17:38:45 · 977 阅读 · 0 评论
分享