自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(611)
  • 收藏
  • 关注

原创 FreeRTOS的任务优先级设计和实现原则

FreeRTOS的任务优先级是其调度器的核心机制,理解它对于构建稳定、高效的实时系统至关重要。任务优先级决定了在多个任务就绪时,哪一个任务优先获得CPU的执行权。FreeRTOS的任务优先级机制,其核心在于通过数值高低决定调度顺序,并结合抢占与时间片来实现复杂的调度策略。成功应用它的关键在于合理规划优先级层次、善用阻塞机制以及使用互斥量等机制避免优先级反转。

2026-01-22 10:11:03 15

原创 FreeRTOS 软件定时器的功能介绍和使用方法

软件定时器是 FreeRTOS 提供的一个非常重要且实用的组件,它允许你在应用程序中创建和管理多个基于系统节拍(tick)的定时器,而无需依赖硬件定时器外设。FreeRTOS 软件定时器是一个强大的后台时间管理工具,非常适合执行非精确的周期性任务(如状态监测、按键扫描、LED 指示、发送心跳包等)。它的核心思想是将定时事件的响应从硬件中断转移到一个专门的中等优先级任务中,使得应用程序设计更灵活、更安全(避免在 ISR 中处理复杂逻辑),但开发者必须清楚其运行机制和限制。

2026-01-22 10:09:03 14

原创 FreeRTOS队列的使用技巧: 传递指针

在FreeRTOS队列中传递指针是一项强大但需要谨慎使用的高级技巧。它能极大提升效率(避免大数据拷贝),但也将内存管理的责任从队列转移给了开发者。

2026-01-20 09:37:11 527

原创 FreeRTOS队列功能介绍

FreeRTOS的队列(Queue) 是任务间通信的核心,它本质上是一个线程安全的FIFO(先进先出)缓冲区,允许任务和中断服务程序以安全的方式传递数据或信号。FreeRTOS队列是一个功能强大、设计精巧的通信原语。它通过内置缓冲和阻塞唤醒机制,优雅地解决了任务间数据交换和同步的问题。在设计时,请根据数据特性和系统需求,权衡深度、数据项大小以及传递方式(拷贝或指针)。

2026-01-20 00:15:00 1134

原创 Python 获取当前文件目录的多种方法

在 Python 中获取当前文件目录有多种方法,下面详细介绍各种方式及其适用场景。

2026-01-19 09:31:32 82

原创 Python 获取当前目录的多种方法

在 Python 中,获取当前目录通常指的是两种不同的概念:当前工作目录(Current Working Directory)和当前脚本文件所在目录。下面详细介绍各种方法。

2026-01-19 09:25:26 191

原创 nRF54LM20B 芯片相关技术: Nordic端到端边缘AI方案

Nordic Semiconductor新推出的nRF54LM20B是一款专为电池供电物联网设备设计的、集成神经网络处理器(NPU)的超低功耗无线系统级芯片(SoC)。它代表了Nordic在边缘人工智能(Edge AI)领域的最新进展。

2026-01-16 15:46:11 616

原创 ESP-Drone: 乐鑫 ESP32/ESP32-S2/ESP32-S3 开发的小型无人机解决方案

ESP-Drone 是基于乐鑫 ESP32/ESP32-S2/ESP32-S3 开发的小型无人机解决方案,可使用手机 APP 或游戏手柄通过 Wi-Fi 网络进行连接和控制。该方案硬件结构简单,代码架构清晰,支持功能扩展,可用于 STEAM 教育等领域。

2026-01-15 00:15:00 631

原创 BLE协议栈GATT: 特征(Characteristic)

GATT的特征值是BLE通信中实际承载数据的最小单元。理解它需要区分两个层面:狭义的“特征值”:指特征对象内部的那个具体的数据字节数组。广义的“特征”:作为一个完整的协议数据结构,它包含这个值以及描述它的元数据。在实际开发中,我们几乎总是在操作后者,即整个“特征(Characteristic)”对象。

2026-01-14 02:45:00 1019

原创 BLE协议栈GATT服务器详细介绍

GATT服务器是蓝牙低功耗(BLE)通信中的核心数据提供方,简单理解,它是一个包含结构化数据的数据库。当两个BLE设备连接后,扮演GATT服务器角色的设备负责存储并向客户端(Client)提供数据。

2026-01-14 02:30:00 759

原创 BLE(蓝牙低功耗)协议栈的详细介绍

本文主要关于BLE(蓝牙低功耗)协议栈的全面详细介绍。笔者将采用自底向上的方式,逐层解析其架构、功能和交互,并突出其与经典蓝牙的关键区别。理解各层的职责及其协同工作方式,对于进行高效的BLE应用开发、调试和问题分析至关重要。对于应用开发者,重点在GATT/GAP;对于驱动或协议栈开发者,则需要深入理解链路层和ATT/L2CAP的交互。

2026-01-13 09:39:34 933

原创 BLE 协议栈中的 L2CAP层详解

L2CAP的全称是逻辑链路控制与适配协议。为上层ATT/GATT提供了稳定可靠的数据传输管道。理解L2CAP是深入理解BLE数据流和协议栈交互的关键一步。

2026-01-13 09:32:30 719

原创 Zephyr RTOS中sys_cpu_to_le16函数意义和用法

sys_cpu_to_le16 是 Zephyr 内核提供的 字节序转换函数,核心用于解决跨设备(不同 CPU 架构)数据传输的字节序一致性问题 —— 蓝牙协议(GATT/ATT 层)强制要求多字节数据使用 小端字节序(LE) 传输,而不同 CPU 的本机字节序可能为大端(BE)或小端(LE),需通过该函数统一格式。

2026-01-12 09:23:24 782

原创 STM32 IO接口推挽输出 (PP)和开漏输出 (OD)

本文主要介绍STM32 IO接口推挽输出 (PP)和开漏输出 (OD)的原理和应用方法。推挽输出是STM32最常用、驱动能力最强的输出模式。它的核心在于内部有两个MOS管,可以主动、强有力地将引脚驱动到高电平(VDD)或低电平(VSS),如同一个“推-拉”组合。开漏输出(Open-Drain, OD)是一种只能主动拉低,无法主动推高的输出模式。它的输出端如同一个接地的“漏极”开关,只能打开(输出低)或关闭(高阻态),高电平需要依赖外部上拉电阻提供。

2026-01-12 09:21:31 915

原创 Zephyr RTOS函数k_work_reschedule_for_queue和k_work_schedule_for_queue介绍

Zephyr RTOS 的工作队列,并在指定的延迟后执行,或者在未来的一个绝对时间点执行。可使用函数k_work_reschedule_for_queue ,它是 k_work_schedule_for_queue 的衍生版本,增加了“如果该工作项已在队列中等待,则重新计算其触发时间”的能力。本文主要介绍这两个函数的功能和使用方法。

2026-01-08 00:15:00 972

原创 Zephyr RTOS 中k_pipe_init 函数的介绍和基本用法

在 Zephyr RTOS 中,k_pipe_init 函数用于在运行时动态初始化一个管道。管道是一种用于在线程间传递字节流数据的进程间通信机制,与传递固定大小“消息块”的k_msgq形成互补。通过k_pipe_init动态初始化管道,可以在内存受限的嵌入式系统中实现对字节流数据的灵活、高效管理。它是构建串口网关、数据记录器或任何流处理应用的基石。

2026-01-08 00:15:00 917

原创 Zephyr RTOS 中k_msgq_init初始化函数的使用方法

在 Zephyr RTOS 中,k_msgq_init 是用于在运行时动态初始化一个消息队列的核心函数。它与编译时静态初始化宏 K_MSGQ_DEFINE 相对应,为你提供了更灵活的消息队列创建方式。

2026-01-06 00:30:00 860

原创 Zephyr RTOS 中k_msgq_set和k_msgq_get函数

在 Zephyr RTOS 中,k_msgq_put 函数是消息队列的核心操作之一,用于将一条消息放入(发送到)指定的消息队列中。它是实现线程间、中断与线程间安全数据通信的“生产者”角色。k_msgq_get 是消息队列 (k_msgq) 的核心接收函数。它的作用是从一个已初始化的消息队列中获取(取出)一条消息,并将其复制到你提供的缓冲区。

2026-01-06 00:15:00 1470

原创 Zephyr RTOS中k_pipe相关函数介绍

在 Zephyr RTOS 中,k_pipe 相关函数提供了一种面向字节流的线程间通信机制。与传递固定大小消息块的消息队列不同,管道专注于传输连续字节流,非常适合处理串口数据、网络数据包等场景。

2026-01-06 00:15:00 770

原创 Zephyr RTOS 原子操作(atomic)相关函数

在 Zephyr RTOS 中,atomic 相关函数提供了一套用于对 atomic_t 类型变量执行原子操作的 API,这是在多线程、中断与多核环境中实现安全、无锁数据共享的基础。本文主要将它们按功能分类,并解释其核心用途。重点介绍atomic_set和atomic_get函数的使用方法。

2026-01-05 00:30:00 1729

原创 Zephyr RTOS中信号量函数 k_sem_take () 深度探究

本文深入探讨了 Zephyr 的 k_sem_take () 函数的各个方面,从信号量的本质到具体的使用方法,从理论基础到实践应用,从正常流程到错误处理。建立起对 k_sem_take () 函数的全面而深入的理解,在实际项目中能够正确、高效地使用这一重要的同步原语。

2026-01-05 00:15:00 923

原创 蜕变后的重生-我的2025年度总结

这是第二次参与CSDN博客之星评选活动,并有幸两次被评选为年度创作影响力 TOP 300 博主,所以,今年也是我第二次在CSDN上发表我的年终总结。我自2018年起已经注册CSDN的账号,对于CSDN用户来说,我已经是一位老用户了,但说来惭愧,在过去的6年时间里,博客输出为0。直到2014年一月份开始博客创作。对博客创作来说,我只能算作一个新人。本文主要对2025年度的个人技术成长做系统的总结。

2025-12-31 23:49:30 788

原创 基于GD32的直流无刷电机控制算法实现和验证

如果要问当下那个行业最火,当属人形机器人行业。而机器人最核心的执行设备为关节,控制关节的动力来源一般为电机,而直流无刷电机控制需要专门的控制电路和软件控制算法,以实现其精确的位置,速度控制。本项目主要是基于 GD32F527I-EVAL开发板,应用RT-Thread软件操作系统,设计一套直流无刷电机的控制算法,实现闭环速度、位置等功能的控制和参数验证。

2025-12-25 20:33:56 1064

原创 Nordic典型芯片nRF5340的功能介绍

本文介绍了Nordic公司的无线SoC芯片:nRF5340采用双Cortex-M33架构,支持蓝牙5.4等协议,具备更高的安全性能该芯片均具备多协议支持、低功耗特性,并针对物联网应用提供不同级别的安全方案,适用于从可穿戴设备到智能家居等多种场景。

2025-12-25 15:27:01 986

原创 Zephyr RTOS 工作队列函数(k_work_reschedule )的应用方法介绍

k_work_reschedule 函数在 Zephyr RTOS 中用于重新安排延迟工作项(delayed work)的执行时间。该函数在需要动态调整定时任务时非常有用,特别是在实现防抖、超时重试、周期性任务等场景。本文详细介绍其用法。

2025-12-19 09:39:54 456

原创 Zephyr OS BLE NUS Client 功能实现

在Zephyr OS中实现BLE NUS Client功能,意味着你的设备将作为中心设备,主动去连接一个提供NUS服务的设备,并与之进行双向数据通信(类似虚拟串口)。本文主要梳理其核心机制、实现流程、代码结构和关键配置。

2025-12-12 17:55:51 656

原创 蓝牙测向原理介绍: AoA与AoD

本文主要介绍蓝牙测向原理AoA与AoD,蓝牙测向是一项基于蓝牙5.1核心规范引入的革命性技术,它使蓝牙设备能够确定无线电信号的传播方向,从而实现了比传统基于信号强度的定位方式更精准、更可靠的定位和位置追踪。

2025-12-03 00:15:00 847

原创 蓝牙Mesh协议介绍

本文主要介绍蓝牙Mesh协议 。它不仅仅是传统蓝牙的简单延伸,而是一套全新的、专为大规模设备网络设计的通信标准。蓝牙Mesh 是蓝牙技术联盟为填补大规模、低功耗设备组网空白而推出的重要协议。它巧妙地将低功耗蓝牙的广播特性转化为网状网络的基石,通过消息洪泛、分层安全和功能模型,为智能楼宇和家居提供了稳定、安全、可互操作的解决方案。尽管在实时性和功耗上有一定权衡,但其与生俱来的手机友好性和强大的生态系统使其在市场上占据了重要地位。

2025-12-02 11:37:27 862

原创 新一代无线 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 853

原创 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 1098

原创 USB协议的软件架构

本文主要介绍USB协议的软件架构,如果说硬件是“身体”,协议是“神经”,那么软件架构就是“大脑”。它定义了操作系统、驱动程序和应用程序如何协同工作,来识别、管理和使用USB设备。USB的软件架构是一个标准化的、分层的驱动模型,其核心目标是:实现设备驱动的自动化和动态加载(即插即用),并向应用程序提供统一、简单的访问接口。

2025-11-27 00:15:00 1025

原创 USB传输协议介绍

本文主要介绍USB的传输协议,如果说硬件是USB系统的“身体”,那么传输协议就是其“灵魂”和“神经系统”,它规定了数据如何被组织、打包、发送、接收和确认,从而确保通信的有序和可靠。USB协议是一个复杂的体系,其核心思想是主机主导的、轮询式的、基于事务的通信。

2025-11-26 00:45:00 1931

原创 USB技术硬件实现原理和版本演进历史

本文主要介绍USB技术实现原理,USB的硬件实现原理是一个从物理层到协议层的完整体系。还介绍了USB各个版本的演进历史,及其技术进步要点。USB(Universal Serial Bus,通用串行总线)1.x和2.0是计算机外设连接技术的重大突破,它们彻底改变了PC与外部设备的连接方式。

2025-11-26 00:15:00 1826

原创 Python struct.pack 用法总结

struct.pack 是 Python 中用于将数据打包成字节流的强大工具,特别适用于处理二进制数据、网络协议、文件格式等场景。通过掌握 struct.pack,可以高效地在 Python 中处理各种二进制数据场景。

2025-11-25 15:02:08 930

原创 场效应管(MOSFET )介绍和特性分析

本文主要介绍场效应管的工作原理、应用方法以及核心的数学推导。并使用Python工具模拟MOSFET 的工作特性。

2025-11-25 13:43:32 1856

原创 C语言标准演进时间线和特性介绍

C语言从1989年的第一个标准化版本到2017年的最新标准(截至2023年)的演进历程的详细梳理。其进化之路分为几个关键阶段,并阐述每个阶段的核心目标和引入的重要特性。

2025-11-19 13:59:36 791

原创 使用scipy.signal.firwin 设计滤波器

本文主要介绍使用scipy.signal.firwin设计FIR滤波器。firwin函数使用窗函数法设计线性相位的FIR滤波器。

2025-11-17 00:30:00 401

原创 scipy.signal.firwin2 用法详解

本文主要介绍scipy.signal.firwin2 用法详解, 其提供了极大的灵活性,可以设计几乎任何你能想象到的频率响应形状,是数字信号处理中非常有用的工具。

2025-11-17 00:15:00 1541

原创 MPU6050陀螺仪数据处理方法

本文主要介绍MPU6050陀螺仪数据处理方法。MPU6050 是一款非常经典且广泛使用的 6 轴 IMU(惯性测量单元),它集成了三轴陀螺仪和三轴加速度计。处理其数据以获得稳定、可靠的姿态信息是嵌入式系统和机器人领域的一个常见任务。

2025-11-12 00:15:00 1579

原创 电磁波传播理论的数学描述和python模拟

电磁波传播理论的数学原理深邃而优美,其核心是麦克斯韦方程组。一切电磁现象的起点都是这组由詹姆斯·克拉克·麦克斯韦在19世纪总结的四个方程。它们描述了电场 (E) 和磁场 (B) 是如何由电荷和电流产生,以及它们之间如何相互作用的。本文介绍电磁波传播的基本理论,并提供相应的Python实现。

2025-11-11 09:20:25 990

将lvgl源代码转换为.lib(stm32-f407-lvgl-lib-proj)

将lvgl源代码转换为.lib(stm32_f407_lvgl_lib_proj) lvgl 版本: v8.4

2024-06-21

应用lvgl的.lib 的一个范例(stm32-f407-lvgl-lib-ui-proj)

应用lvgl的.lib 的一个范例(stm32_f407_lvgl_lib_ui_proj): 将lvgl的源文件转化为.lib文件,以及大简化加载lvgl源代码的繁琐步骤。随着lvgl的版本升级越来越高,其源代码也越来越多,项目中加载这些文件也是一个繁琐的任务,本文写作的目的就是为了简化这一操作。使用.LIB文件的方式,极大的简化添加源代码的过程更便于平台的移植。

2024-06-21

通用性I2C接口的应用之驱动SHT20(N32G45XVL-STB)

本文主要介绍使用通用性I2C接口的驱动SHT20 sensor,文中介绍了如何初始化I2C port。笔者使用N32G45XVL-STB板卡作为主控。文中介绍了IO的配置方法。还介绍了device驱动中如何调用i2c的接口。最后设计一个测试程序以验证驱动是否能够正常工作。

2024-06-19

STM32F407之移植LVGL(8.4.0)-UI

​ 本文主要介绍在STM32F407移植lvgl-8.4.0的详细步骤,包括加载文件的方法,Keil中加载文件目录和路径,修改和LCD驱动层相关的接口,keil中配置编译参数,笔者使用NXP GUI builder设计了一个简单的案例,验证移植的代码是否可以正常运行。

2024-06-18

lvgl-demo-MusicPlayer

本文主要介绍使用GUI Guider工具创建一个MusicPlayer的应用程序,并且该程序在GUI Guider上模拟UI的功能,然后将GUI Guider生成的代码移植到基于STM32F407主控MCU的控制板卡上。并测试了UI的功能。

2024-06-18

stm32-f407-lcd-lvgl-proj-MusicPlayer

本文主要介绍使用GUI Guider工具创建一个MusicPlayer的应用程序,并且该程序在GUI Guider上模拟UI的功能,然后将GUI Guider生成的代码移植到基于STM32F407主控MCU的控制板卡上。并测试了UI的功能。

2024-06-18

STM32F407之移植LVGL(8.4.0stm32-f407-lcd-lvgl-proj)

项目名称: STM32F407之移植LVGL(8.4.0stm32_f407_lcd_lvgl_proj) 文章索引: 本文主要介绍在STM32F407移植lvgl-8.4.0的详细步骤,包括加载文件的方法,Keil中加载文件目录和路径,修改和LCD驱动层相关的接口,keil中配置编译参数,笔者使用NXP GUI builder设计了一个简单的案例,验证移植的代码是否可以正常运行。

2024-06-18

GUI Guider 设计UI在嵌入式系统上的应用源代码

GUI Guider 设计UI在嵌入式系统上的应用源代码 1)lvgl 驱动程序 2)GUI Guider UI程序

2024-06-15

VMware-workstation-full-15.5.6-16341506

虚拟机版本: VMware-workstation-full-15.5.6-16341506 VMware Workstation是一款由VMware公司开发的虚拟化软件。它允许用户在一台计算机上同时运行多个操作系统,并在每个操作系统中创建和运行虚拟机。

2024-06-15

和lvgl UI开发仿真相关的软件

1)cmake-3.30.0-rc2-windows-x86_64 2)lv_drivers-release-v8.3.zip 3)lv_port_pc_eclipse-release-v8.3.zip 4)lvgl-release-v8.3.zip 5)SDL2-devel-2.30.1-mingw.zip 6)x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z

2024-06-15

N32G45XVL-STB之移植LVGL(lvgl-8.2.0)

本文主要介绍在N32G45XVL-STB移植lvgl-8.2.0的详细步骤,包括加载文件的方法,文件目录的路径,修改和LCD驱动层相关的接口,keil中文件路径的配置方法和编译参数,还编写一个LVGL的案例,验证移植的代码是否可以正常运行。

2024-06-08

使用PID算法实现DAC模拟量输出的快速调节

本文主要介绍一个PID在实际项目应用的案例,通过ADC采样DAC的输出结果,调整使其快速到达期望的结果,系统基于STM32F103RC,使用DAC输出模拟量,ADC采集该模拟量作为反馈信号,以实现系统的闭环控制。

2024-05-30

stm32-f103-rct6-motor-speed

本文主要介绍测试电机速度方法(T测试方法)的实现原理与功能实现,笔者使用STM32F103芯片作为主控,并使用光电编码器作为测速装置,基于定时器和PWM实现电机速度测试和速度控制功能。还应该STM32Cube搭建项目实现测速的功能。

2024-05-29

PID算法在电机速度控制上的应-测试源码

本文主要介绍使用PID算法实现电机速度的控制,笔者使用IO外部中断测试码盘的脉冲实现测速功能,通过该速度值,应用PID算法实现调制PWM的占空比,以实现电机速度的控制。

2024-05-28

STM32高级控制定时器(STM32F103):PWM 输入模式

本文主要介绍STM32高级定时器的用法至输入捕获功能,该功能可用于捕捉外部输入信号的频率,并且计算出PWM的占空比。笔者通过详细的案例介绍这个功能,包括理论知识,实现原理,以及如何使用STM32Cube配置基本的参数,编写实用代码,实现捕捉频率当的功能。

2024-05-25

stm32-f103-rct6-输入捕获测试代码

本文主要介绍STM32高级定时器的用法至输入捕获功能,该功能可用于捕捉外部输入信号的频率。笔者通过详细的案例介绍这个功能,包括理论知识,实现原理,以及如何使用STM32Cube配置基本的参数,编写实用代码,实现捕捉频率当的功能。

2024-05-25

stm32-f407-bmp085-proj

主要介绍STM32F4的内部I2C接口的使用方法,包括使用STM32Cube配置i2c接口函数,还介绍了STM32 HAL库中的接口函数,为了验证接口函数的是否能够正常工作,还使用BMP085作为device,以I2C接口作为通信接口,以实现该芯片数据的读写操作。

2024-05-21

stm32-f407-fsmc-sRAM

使用STM32F4的FSMC控制SRAM,以扩展内存,文中介绍了SRAM相关的电路,以及和MCU之间的对应关系。还使用STM32Cube配置一个项目来实现FMSC操作SRAM的功能,并编写测试程序,验证该功能。

2024-05-16

stm32-f407-lcd-ft6336-proj

本文主要介绍FT6336触摸屏芯片的相关内容,主要包括其寄存器的信息,还介绍了LCD模组上使用的芯片的引脚定义,以及和STM32 IO的对应关系,还通过具体的案例实现该芯片的驱动程序,并验证其是否可以正常工作。

2024-05-12

基于STM32移植lvgl(V8.2)(SPI接口的LCD)

本文主要介绍基于STM32移植lvgl(V8.2)的详细过程,包括lvgl源代码的下载过程,如何加载这些文件到keil中,以及需要需改的接口文件内容。笔者使用的LCD屏幕为SPI接口类型,通过实操的方法完整的移植lvgl到stm32f4平台,并能完整的运行lvgl的demo。

2024-05-10

env-windows-v2.0.0-venv RT-Thread 开发环境

当你使用 env-windows-v2.0.0-venv 时,你主要用它来做以下事情: 系统配置 (menuconfig) 运行 menuconfig 命令,会启动一个类似 Linux kernel 的图形化配置界面。 在这里,你可以轻松地裁剪 RT-Thread 内核、组件、驱动,并选择和管理你想要使用的软件包。 软件包管理 (pkgs --update) RT-Thread 有一个强大的在线软件包中心,类似于手机的应用商店。 使用 Env 工具,你可以通过命令(如 pkgs --update)一键下载、更新、删除在 menuconfig 中选择的软件包。 代码构建 (scons) Env 工具内集成了 SCons 构建系统。你只需要在项目根目录输入 scons 命令,它就会根据你的配置,自动编译所有源代码(包括内核、你选的组件和软件包),最终生成可烧写到硬件上的固件(如 .bin 或 .hex 文件)。 其他实用工具 它还集成了 git(用于下载软件包)、C/C++ 编译工具链(如 ARM GCC)的路径管理等功能。

2025-10-26

mp6050-dmp-motion-driver-6.12

1. mp6050_dmp_motion_driver_6.12 2. documentation 3. mpl libraries 4 msp430 demo

2025-08-27

MP6050相关的资料 ,包括datasheet,用户手册,开发手册,驱动代码等内容

MP6050相关的资料 ,包括datasheet,用户手册,开发手册,驱动代码等内容

2025-08-25

Logic-2.4.29-windows-x64 逻辑分析仪上位机

Logic-2.4.29-windows-x64.exe

2025-07-27

nrf52-development-kit-nRF52832-DK-BOARD, 包括原理图,PCB等相关设计资料

nrf52-development-kit_nRF52832_DK_BOARD, 包括原理图,PCB等相关设计资料

2025-06-08

autotest-python-demo

基于pytest 的Autotest 框架

2025-05-27

LCD相关资料,包括datasheet, 程序demo等

LCD相关资料,包括datasheet, 程序demo等

2025-02-20

直流无刷电机控制(FOC):速度闭环模式 直流无刷电机控制(FOC):电流模式 直流无刷电机控制(FOC):位置模式

直流无刷电机控制(FOC):速度闭环模式 直流无刷电机控制(FOC):电流模式 直流无刷电机控制(FOC):位置模式

2025-01-09

deng foc test demo

deng foc test demo

2025-01-07

基于野火Renesas R7FA8D1BH (Cortex-M85)开发板,设计的一款智能控制小车

本系统是一款硬件上基于野火Renesas R7FA8D1BH (Cortex-M85)开发板,设计的一款智能控制小车。其可实现采集现场环境的温度、湿度、光照强度,同时使用超声波雷达扫描环境的参数,以了解特殊环境的地形特性,并通过蓝牙实时的发送给微信小程序App,以实现对小车运行轨迹的控制。

2024-10-10

RT-Thread Nano版本在STM32F103RB上的快速移植

本文主要介绍RT-Thread Nano版本在NUCLEO-F13RB上的移植方法,包括RT-Thread的版本信息,各个版本的差异,Keil下RT-Thread的安装,以及结合STM32Cube创建工程的方法。文中还详细记录了修改代码的内容和修改方法。还编写具体的案例验证代码,验证RT-Thread的功能。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/mftang/article/details/142069487

2024-09-09

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

本文主要介绍RT-Thread Nano版本在NUCLEO-F446RE上的移植方法,包括RT-Thread的版本信息,各个版本的差异,Keil下RT-Thread的安装,以及结合STM32Cube创建工程的方法。文中还详细记录了修改代码的内容和修改方法。还编写具体的案例验证代码是否能正常工作。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/mftang/article/details/141980933

2024-09-07

Renesa Version Board开发RT-Thread 之UART驱动应用

本文主要介绍RT-Thread下UART接口的使用方法,笔者使用Renesa Version Board开发板,其开放的UART端口为UART2。文章介绍了使用RT-Studio使能UART,使用FSP配置和使能UART-2,然后编写基于RT-Thread下UART的驱动接口,并测试其功能。 原文地址: https://blog.csdn.net/mftang/article/details/141528671?spm=1001.2014.3001.5501

2024-08-25

NUCLEO-F446RE: STM32F446RE实现多通道ADC转换功能实现(DMA)

主要实现应用基于STM32F446RE实现多通道ADC转换功能实现。笔者同时使用ADC1、ADC2、ADC3,每个ADC模块采集两路模拟量,且同时使用DMA方式存贮数据。笔者详细介绍基于STM32Cube配置ADC参数,并生成项目代码的方法。完成项目配置后,生成代码,并实现初始化通道的功能,然后编译代码,下载到板卡中验证其功能。

2024-07-06

STM32F103RB多通道ADC转换功能实现(DMA)

主要介绍使用STM32F103RB实现多通道数据转换的功能,采用DMA方式,每个模拟通道对应一个DMA channel,实现高速的数据模数转换功能。还验证了配置DMA的数据宽度对输出数据的影响。

2024-07-05

FSP-Project-RA8-adc-oled:Renesas R7FA8D1BH (Cortex-M85) 的综合应用

本文主要介绍Renesas R7FA8D1BH (Cortex-M85)设计一个综合的应用案例:MCU采集模拟通道的数据,并读取MCU内部的Temperature sensor。还使用I2C接口驱动OLED,并将读到温度值和模拟量值显示在UI上。同时使用UART发送当前的实时数据至PC Console。

2024-07-01

FSP-Project-RA8-uart-test:Renesas R7FA8D1BH (Cortex-M85)串口应用总结

主要记录使用Renesas R7FA8D1BH (Cortex-M85)串口模块时,存在的问题,并详细的记录问题产生的实验现象。笔者通过仔细研究FSP中和UART相关的接口函数和实用案例,通过详细的测试,找到了解决printf函数在打印字符串中不能完整打印数据的问题,并给出解决方案。

2024-06-29

FSP-Project-RA8-test:搭建瑞萨R7FA8D1BHECBD-BTB的开发调试环境(DAP-LINK: N32G

介绍使用Keil、FSP、DAP-LINK(N32G45XVL-STB)搭建瑞萨R7FA8D1BHECBD-BTB的开发调试环境。笔者选择使用野火耀阳开发板_瑞萨RA8,该板块的主控MCU R7FA8D1BHECBD,7FA8D1BHECBD的内核为ARM Contex-M85。使用J-LINK必要要求版本在V10以上,ST-LINK也不支持 Contex-M85内核代码下载。笔者通过使用多种下载器进行测试,最后发现N32G45XVL-STB开发板上自带的DAP-LINK工具竟然可以下载和调试R7FA8D1BHECBD芯片。

2024-06-28

W25QXX-STM32F4-ALY:设计NOR Flash(SPI接口)的Flashloader(MCU: stm32f4)

主要介绍基于STM32F407芯片,NOR Flash芯片为W25Q64(SPI接口)。使用其设计一个Flashloader 程序,并且在STM32CubeProgrammer工具中使用该文件,实现NOR Flash擦除数据,编程数据,读取数据的功能。

2024-06-28

M29W128GL-STM32F4-ALY 源代码

基于STM32F407芯片,NOR Flash芯片为S29GL128P10TFI01。使用其设计一个Flashloader 程序,并且在STM32CubeProgrammer工具中使用该文件,实现NOR Flash擦除数据,编程数据,读取数据的功能。

2024-06-27

空空如也

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

TA关注的人

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