- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 ESP32双模蓝牙键盘实现攻略
此方案提供了一个可直接编译运行的双模蓝牙键盘核心框架。您需要根据实际的ESP32型号和引脚连接调整GPIO定义,并完善BLE GATT和SPP的具体事件处理逻辑(特别是。作为主控,实现一个具备**双模(BLE HID + 传统蓝牙SPP)**功能的蓝牙键盘,并包含。核心挑战在于同时管理两种蓝牙协议栈,并处理按键事件到HID键盘报告的映射。的简化示例,展示了双模蓝牙初始化和五个按键的HID报告发送核心逻辑。此配置确保编译时包含双模蓝牙协议栈。函数的实现)以完成整个项目。
2026-05-14 22:40:07
399
1
原创 C语言实现消息队列与事件标志组
首先,需要包含FreeRTOS及标准C库的必要头文件,并定义程序中用到的常量、句柄和事件标志位。/* 定义事件标志位 */#define EVENT_DATA_READY (1 << 0) /* 位0:数据准备就绪 */#define EVENT_SYSTEM_RUN (1 << 1) /* 位1:系统运行标志 *//* 定义消息结构体 *//* 全局句柄声明 *//* 消息队列句柄 *//* 事件标志组句柄 */特性维度消息队列 (Message Queue)
2026-05-12 22:44:03
394
原创 USB HID端点选择与兼容性解析
USB HID(Human Interface Device)设备驱动开发中的核心问题在于,尤其是在控制端点(Endpoint 0)与中断OUT端点(Interrupt OUT Endpoint)的使用上。不同版本的HID规范和应用场景对此有不同要求,处理不当会导致通信失败或兼容性问题。在于:早期或某些简化的HID设备仅使用Endpoint 0通过Set_Report请求接收主机数据。而现代HID设备为追求高性能,会启用专用的中断OUT端点。
2026-04-23 19:01:43
379
原创 字符设备驱动核心机制解析
字符设备是Linux系统中与硬件交互的基础单元,其核心在于建立了用户层应用程序与内核层驱动程序之间标准化的通信桥梁。这种联系主要通过和三个层面实现,形成一个完整的硬件访问通路。
2026-04-12 11:26:43
367
原创 RK3568点灯驱动三步走
本方案通过平台总线模型实现了驱动与设备的解耦,通过设备树实现了硬件配置的灵活性,再通过杂项设备提供了简洁的用户空间接口,是一个在嵌入式Linux驱动开发中兼具规范性和实用性的完整示例。该方法遵循Linux内核驱动开发的最佳实践,实现硬件描述与驱动逻辑的分离,提升驱动的可移植性和可维护性。该驱动方案包含三个关键部分:设备树硬件描述、平台设备驱动模型注册、以及用户空间接口。)中,为LED设备添加一个节点。)需要实现平台驱动的结构体,并在成功匹配(首先,需要在板级设备树文件(如。)后,注册一个杂项设备。
2026-03-27 22:58:26
469
原创 RT_THREAD入门实践----信号量
摘要:RT-Thread信号量提供同步/互斥机制,核心接口分为管理类(创建/初始化)和操作类(获取/释放)。管理类包括rt_sem_create()动态创建和rt_sem_init()静态初始化;操作类包含rt_sem_take()获取和rt_sem_release()释放信号量。典型应用示例展示了按键线程发送信号量触发LED线程动作的过程:按键按下时释放信号量,LED线程等待信号量并执行灯状态翻转。该机制有效实现了线程间同步,初始值为0时适用于同步场景,1时适用于互斥场景。
2026-02-23 17:36:35
332
原创 实现一个单链表的逆转
在模块化编程中,我们可以引入三个文件,分别包括用于功能函数编写(single.c),文件管理(single.h),测试用例(test.c/main.c)。
2024-10-17 15:15:18
192
原创 用顺序表存储一些正整数,输入正整数表示插入数据(比如输入3表示插入3),输入负整数表示删除数据(比如输入-2表示删除2),输入字符表示退出程序。插入和删除的过程中保持该表递增有序。
用顺序表存储一些正整数,输入正整数表示插入数据(比如输入3表示插入3),输入负整数表示删除数据(比如输入-2表示删除2),输入字符表示退出程序。插入和删除的过程中保持该表递增有序。
2024-10-16 20:46:55
460
2
原创 排序算法实现
一、实验目的熟悉各种内部排序算法的思想。理解快速排序算法。二、实验内容排序算法的实现。三、实验设备Vs2019四、实验要求本实验要求实现以下功能:对从键盘输入的顺序任意的8个正整数,通过各种排序(至少2个排序方法)使之成为有序的序列。输出每一趟排序的结果。#include<stdio.h>#define N 8//快速排序 void quickSort(int arr[], int low, int high){ int first = lo
2021-12-31 11:31:23
883
原创 【顺序表图书管理】
一、实验目的掌握顺序存储的线性表的创建、查找、插入、删除和输出操作二、实验内容实现一个存放图书信息的顺序表三、实验要求图书的基本信息有图书编号(例如:1,2,3,4等),书名和价格等。 对图书的顺序表进行查找、插入、删除和输出操作。(3)选做实验:把图书顺序表中的信息存储到文本文件,并且可以把文本文件中的图书信息存储到图书顺序表中#include <stdio.h>#include <stdlib.h>#include <string.h>
2021-12-31 11:23:37
920
房价预测-销售价格预测
2023-07-14
基于知识图谱的实体识别
2022-05-15
数据库原理的综合利用实验
2022-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅