- 博客(442)
- 收藏
- 关注
原创 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
1080
原创 pytest和Allure搭建自动化测试平台
本文介绍了Python自动化测试环境的搭建及测试框架的使用方法。主要内容包括:环境准备:下载安装Python(建议3.11以下版本)、Allure测试报告框架及Java虚拟机,并配置相关环境变量;pytest架构,编写和运行case,并生成report。
2025-05-28 03:15:00
1191
原创 Zephyr OS: periodic_sync_rsp代码架构和实现
本文主要介绍periodic_sync_rsp,periodic_sync_rsp是蓝牙5.0+中管理周期性广播同步响应的核心功能,通过配置同步参数(如响应选项、超时时间、子事件数)实现设备间的精准同步。
2025-05-27 00:30:00
1013
原创 Zephyr OS: periodic_adv_rsp代码架构和实现
本文介绍了基于Zephyr OS的蓝牙周期性广播系统架构与实现。系统采用三部分设计:初始化部分完成蓝牙连接接口、广播参数设置及启动功能;主循环实现设备发现、数据传输和GATT操作;错误处理模块管理连接状态。
2025-05-27 00:15:00
1166
原创 Zephyr OS 下的bt_gatt_subscribe 函数的功能和应用
本文主要介绍 Zephyr OS 下的bt_gatt_subscribe 函数的功能和应用,GATT是蓝牙低功耗(BLE)的核心协议,定义了通过服务和特征进行数据通信的标准框架。
2025-05-26 01:00:00
1033
原创 Zephyr OS 下的bt_gatt_write函数功能和应用
本文介绍了BLE核心协议GATT的基本概念及应用方法,重点分析了bt_gatt_write函数的实现。GATT定义了BLE设备通过服务和特征交换数据的标准框架,包含服务器、客户端和层级化组件结构。文章详细阐述了bt_gatt_write函数的参数配置、四种写入操作类型(带响应/无响应/准备/执行写入),并提供了多种应用场景的代码示例(基本写入、长数据分片、安全写入等)。同时介绍了错误处理机制、性能优化技巧(MTU优化、写入队列)以及资源管理注意事项(参数生命周期、并发控制)。1 GATT 基本概念。
2025-05-26 00:15:00
957
原创 Zephyr OS 下的bt_gatt_discover函数应用介绍
本文介绍了蓝牙低功耗(BLE)中的GATT协议及其核心功能。GATT定义了BLE设备通过服务和特征交换数据的标准框架,包含服务器和客户端两种角色。文章详细解析了GATT的核心组件(服务、特性、描述符)及其层级结构,并以Zephyr协议栈中的bt_gatt_discover函数为例介绍其主要用法
2025-05-25 00:30:00
1481
原创 Zephyr OS 下的 bt_gatt_read函数的功能和应用
本文详细介绍了蓝牙低功耗(BLE)中的GATT协议及其关键组件,重点分析了Zephyr协议栈中的bt_gatt_read函数。文章首先阐述了GATT的基本概念及其在BLE通信中的核心作用,包括服务(Service)、特性(Characteristic)和描述符(Descriptor)的层级结构。
2025-05-25 00:15:00
1073
原创 GATT 服务的核心函数bt_gatt_discover的介绍
本文介绍GATT的核心组件(服务、特性、描述符)及其层级结构,并以Zephyr协议栈中的bt_gatt_discover函数为例,说明其参数配置、发现类型和使用流程,包括服务发现、级联发现、UUID过滤等典型应用场景。最后还列举了常见错误码及处理方法,为BLE应用的开发提供了实用指导。
2025-05-24 17:51:56
652
原创 Zephyr OS下GATT的服务端(Server)接口
本文主要介绍Zephyr OS下GATT的服务端(Server)接口 ,GATT(通用属性配置文件)是蓝牙低功耗(BLE)协议中的核心组件,定义了服务端与客户端之间的数据交互架构。
2025-05-24 10:20:56
924
原创 Bluetooth Low Energy (BLE) 的GATT服务
本文主要介绍Bluetooth Low Energy (BLE) 的GATT服务的相关概念。GATT(通用属性配置文件)是蓝牙低功耗(BLE)的核心协议,定义了数据通信标准框架。
2025-05-24 09:45:38
785
原创 Zephyr OS 使能和失能蓝牙协议栈的操作
本文介绍了Zephyr RTOS中三个关键的蓝牙API接口:bt_disable、bt_enable和bt_reset的功能及其使用方法。
2025-05-23 11:14:09
770
原创 Bluetooth Low Energy (BLE)的通信信道和包类型
本文主要介绍蓝牙低功耗(BLE)的通信信道和包类型。蓝牙低功耗(BLE)技术在2.4GHz ISM频段工作,使用40个物理信道,其中3个为广播信道,37个为数据信道。广播信道用于设备发现、连接建立和广播通信,分布在频段两端和中间以减少Wi-Fi干扰。广播包在3个信道上重复发送以提高可靠性。数据信道用于已连接设备间的数据通信,采用自适应跳频技术选择信道。
2025-05-22 22:51:56
861
原创 Zephyr OS 中的互斥信号量
本文主要介绍Zephyr OS 中的互斥信号量的相关内容。互斥信号量(Mutex)是操作系统中的一种线程同步机制,用于保护共享资源,防止多个线程同时访问导致的竞态条件。
2025-05-22 21:37:17
1058
原创 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
977
原创 FIFO的应用案例(基于Zephyr OS )
本文介绍了在nRF52832开发板上使用Zephyr操作系统进行FIFO(先进先出队列)功能开发的软硬件环境及实现步骤。软件开发环境基于Nordic提供的nRF Connect SDK,集成了Zephyr平台、编译工具链和VS Code开发环境。
2025-05-17 17:58:27
1022
原创 Zephyr OS 中的 FIFO 接口应用介绍
本文主要介绍Zephyr RTOS 提供了多种 FIFO (First-In-First-Out) 实现方式,其可以适用于不同场景的数据缓冲需求。以下是主要的 FIFO 接口和使用方法。
2025-05-17 12:32:56
806
原创 Zephyr OS Nordic芯片的Flash 操作
本文主要介绍基于 Zephyr OS 操作 Nordic 芯片的 Flash 存储器,其主要涉及以下几个方面:Nordic 内部Flash的资源,操作Flash的接口,验证读写数据功能等内容。
2025-05-16 22:19:59
1034
原创 Zephyr 定时器的使用方法
本文主要介绍Zephyr 定时器的使用方法,包括几个重要的接口函数的介绍和使用方法。Zephyr RTOS 提供了几种定时器机制,可以用于周期性任务、超时处理和延迟操作。以下是 Zephyr 定时器的主要使用方法:
2025-05-10 04:58:07
757
原创 nRF Connect SDK system off模式介绍
System Off 模式是 Nordic nRF 系列芯片最省电的工作模式,在 nRF Connect SDK 中通过 Zephyr RTOS 的电源管理框架提供完善支持。本文通过一个demo介绍system off功能的用法及其相关函数的功能。
2025-05-07 22:30:08
678
原创 MCUboot 中的 BOOT_SWAP_TYPE_PERM 功能介绍
BOOT_SWAP_TYPE_PERM 是 MCU boot 引导加载程序中用于表示永久性固件交换的状态标志,是固件升级流程中的关键机制之一。本文主要介绍该参数以及与之相关参数的功能和使用方法。
2025-05-05 23:05:30
1185
原创 解析MCUboot的实现原理和Image结构
本文主要介绍MCUboot的实现原理和Image的结构,主要包括MCUboot的Image的格式,交换区,Resetrecovery等概念,还介绍了使用Image进行代码更新的步骤。
2025-05-04 11:15:30
1708
原创 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
1176
2
原创 BLE协议栈的解析
蓝牙低功耗(BLE)协议栈是实现蓝牙无线通信功能的分层架构,本文将从核心组成、各层功能到实际应用进行全面介绍。包括协议的层次结构,主要属性,以及设备角色等内容。
2025-05-02 22:59:36
1454
1
原创 Zephyr RTOS架构下的固件升级
本文简要介绍了Zephyr OS架构下固件升级的一些内容,其中包括固件升级的模式,实现原理,nordic平台下固件升级的方法,image分配的方式等内容。
2025-05-02 09:05:50
1321
原创 zephyr架构下扫描和解析Beacon数据
本文主要介绍基于zephyr架构下的Bluetooth接口实现Beacon功能,同时实现了Observer用于解析Beacon的数据。
2025-05-01 07:28:38
1260
1
原创 Zephyr RTOS 架构下信号量的接口函数和用法
k_sem_give, k_sem_take和k_sem_init 是 Zephyr RTOS 中信号量(Semaphore)操作的核心函数之一,用于获取信号量,释放信号量资源和初始化信号量。本文主要介绍这些函数的功能和用法。
2025-05-01 07:22:18
861
原创 zephyr架构下扫描Bluetooth device的主要函数接口和功能
本文主要介绍zephyr架构下扫描Bluetooth device的主要函数接口和功能,其中包括bt_le_scan_start()函数,bt_le_scan_stop()函数和bt_le_scan_cb_register() 函数的功能,函数原型,使用方法等内容。
2025-04-29 02:45:00
770
原创 ASCII字符编码标准及字符表
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁字母的字符编码标准,用于计算机和通信设备中的文本表示。ASCII 使用 7 位二进制数(共 128 个字符)来表示字母、数字、标点符号和控制字符。
2025-04-27 22:32:28
1406
原创 基于zephyr使用nRF52832实现Beacon功能
本文主要介绍基于zephyr使用nRF52832实现Beacon功能,内容包括软硬件开发环境,beacon功能的实现原理和定义,使用zephyr平台实现Beacon功能,并编译和下载代码,运行在Nordic nRF52832平台上,并验证其数据结构。
2025-04-27 00:30:00
1675
原创 zephyr架构下Bluetooth advertising接口
本文主要介绍zephyr架构下Bluetooth advertising一些接口函数的功能和使用方法,这些函数是bluetooth的最重要的一些接口,掌握这些函数的用法是进行蓝牙功能开发的基础。
2025-04-26 14:02:39
1030
原创 zephyr架构下Bluetooth Beacon功能的实现(nRF52832)
本文主要基于zephyr架构下实现了Bluetooth Beacon功能,使用nRF52832开发板作为硬件资源,详细介绍了广播模式了各个字段的定义和应用方法。
2025-04-26 07:46:22
1270
原创 Zephyr kernel Build System (CMake)介绍
本文主要介绍Zephyr kernel Build System CMake的功能,以及使用该工具构建项目,并详细介绍了每个目录以及目录下文件的作用。
2025-04-25 06:35:16
1194
原创 RF connect SDK 修改蓝牙address的方法
在 nRF Connect SDK(基于 Zephyr RTOS)中,修改蓝牙设备的 MAC 地址(Bluetooth Address) 可以通过以下几种方式实现:
2025-04-15 21:23:47
931
原创 nRF connect SDK 获取蓝牙address
在 nRF Connect SDK(基于 Zephyr RTOS)中,获取蓝牙设备的 MAC 地址(Bluetooth Address) 可以通过以下几种方式实现:
2025-04-15 21:13:59
322
原创 zephyr RTOS 中 bt_le_adv_start函数的功能应用
在 Zephyr RTOS 中,bt_le_adv_start() 是 Bluetooth Low Energy (BLE) 协议栈提供的一个 API 函数,用于启动 BLE 设备的广播(Advertising)。
2025-04-14 23:13:17
765
原创 蓝牙 LE Coded PHY 中的 S=8 编码方案 的详细解析
本文主要介绍蓝牙 LE Coded PHY 中的 S=8 编码的实现原理,应用场景,以及使用nRF Connect SDK实现功能配置的方法,还介绍使用DTM功能测试SRRC的功能。
2025-04-13 20:29:18
906
原创 通信中的 “bps“ 含义及详解
本文主要介绍通信中的 “bps“ 含义,bps 是 Bits Per Second(比特每秒) 的缩写,用于衡量 数字通信系统中每秒传输的二进制数据量,是描述数据传输速率的核心单位。理解该参数的含义对设计通信系统有着重要的意义。
2025-04-12 14:12:48
1276
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关注的人