tyustyu
码龄7年
关注
提问 私信
  • 博客:903,135
    903,135
    总访问量
  • 460
    原创
  • 3,352
    排名
  • 910
    粉丝
  • 19
    铁粉

个人简介:不抛弃,不放弃

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-04-24
博客简介:

tyustli

查看详细资料
  • 原力等级
    当前等级
    7
    当前总分
    3,825
    当月
    47
个人成就
  • 获得1,172次点赞
  • 内容获得138次评论
  • 获得4,395次收藏
  • 代码片获得9,741次分享
创作历程
  • 4篇
    2025年
  • 62篇
    2024年
  • 124篇
    2023年
  • 22篇
    2022年
  • 45篇
    2021年
  • 113篇
    2020年
  • 62篇
    2019年
  • 28篇
    2018年
成就勋章
TA的专栏
  • linux 驱动
    付费
    32篇
  • ARM 体系结构与编程
    付费
    56篇
  • USB
    付费
    75篇
  • 音频
    付费
    19篇
  • RTOS
  • RT-Thread
    33篇
  • Threadx
    7篇
  • FreeRTOS
    5篇
  • 嵌入式
    21篇
  • UART
    1篇
  • SPI
    1篇
  • CAN
    2篇
  • SSH
    8篇
  • C语言
    50篇
  • __attribute__
    10篇
  • 预处理
    12篇
  • 位操作
    6篇
  • 数据结构
    35篇
兴趣领域 设置
  • 嵌入式
    嵌入式硬件
  • 硬件开发
    驱动开发fpga开发arm开发硬件架构
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
搜TA的内容
搜索 取消

USB 等时传输的 PID 序列

全速模式下的同步传输数据方式只使用DATA0包,因此接收方在接收数据时只会收到DATA0数据包。同步传输方式分为全速模式和高速模式,低速模式不存在同步传输。
原创
发布博客 2025.01.03 ·
23 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB 批量传输的 PID 序列

从抓包可以看出,IN 和 OUT 的 PID 翻转是独立的。
原创
发布博客 2025.01.03 ·
21 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB 中断传输的 PID 序列

端点在初始化后,从 DATA0 开始,每成功执行一个事务,数据包序列翻转一次(从 DATA0 变为DATA1 或从 DATA1 变为 DATA0)。端点的数据翻转只有在端点重新初始化或者 CLEAR_FEATURE(Endpoint Halt)后才恢复为 DATA0。数据翻转和传输的个数没有直接关系,只由端点在初始化后处理的总数决定。
原创
发布博客 2025.01.02 ·
62 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB 控制传输的 PID 序列

setup, data 和 status 的 PID 序列
原创
发布博客 2025.01.02 ·
289 阅读 ·
7 点赞 ·
0 评论 ·
0 收藏

使用 wireshark 抓 USB 包

从 wireshark 抓包和硬件抓包对比结果可以明显看到差距,硬件抓包还是比较强的,wireshark 只能辅助看下。安装好之后打开 wireshark,首页会有如下选项(如果没有这个选项,在 捕获->刷新接口列表 刷新一下即可 F5)使用 wireshark 抓 USB 的包,安装的时候需要勾选这里,其他安装选项按需安装即可。2.24.0 对应的含义。这里只抓新插入的设备。
原创
发布博客 2024.12.31 ·
317 阅读 ·
8 点赞 ·
0 评论 ·
0 收藏

USB 状态机及状态转换

在 USB 设备被复位后,且在 USB 主机给 USB 设备设置一个新的地址之前,所有的 USB 设备使用默认的 0 地址与主机通信。正常工作的 USB 设备在收到 USB 主机发出的复位信号后会进入默认状态,之前所指定的地址,所配置的接口和配置项都将无效,需要由 USB 主机重新指定设备地址,获取描述符并配置相关的配置项,才能使设备再次工作。指定了新的地址的 USB 设备在收到 USB 主机发出的复位信号后会进入默认状态,之前所指定的地址也将无效,USB 设备需要 USB 主机重新分配地址。
原创
发布博客 2024.12.27 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB Ping 事务

在低速和全速模式下,USB 主机使用控制传输或者批量传输向 USB 设备发送数据时,如果 USB 设备因某些原因(如内存空间不足)无法接收数据,USB 设备会向 USB 主机返回 NAK 包。USB 主机在发送 OUT 事务之前使用 PING 事务来确定 USB 设备是否能够接收数据,如果设备不能接收数据,USB 主机会在一定时间后再次使用 PING 事务,直到 USB 设备能够接收数据为止。此时,USB 主机开始使用 Ping 事务来检查 USB 设备是否已经可以接收数据,该 Ping 事务如下。
原创
发布博客 2024.12.11 ·
211 阅读 ·
6 点赞 ·
0 评论 ·
0 收藏

UVC1.5 —— USB 摄像头

需要注意的是,如果使用接口关联描述符,这里的类,子类和协议需要固定为。所以接口关联描述符将接口1 和接口 2 关联到一起。
原创
发布博客 2024.12.11 ·
76 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——带反馈端点的 USB speaker(16bit 单声道)

反馈端点介绍,这里写的还是比较详细的。对于 UAC2.0 反馈的数据格式就是 16.16,返回四个字节的数据。
原创
发布博客 2024.12.09 ·
334 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

FreeRTOS posix 实现低功耗tickless

移植 vPortSuppressTicksAndSleep 到 MCU 上时,最重要的是利用 MCU 的硬件支持来管理低功耗模式,合理配置系统的时钟源和中断源,以确保系统能在需要时唤醒并继续精确计时。从结果中可以看到,每次睡眠 1000ms,任务还是 1000ms 打印一次。为了观察睡眠时间,重定向打印函数,打印的时候将时间戳打印出来,实现如下。通过以上方法,能确保移植后的系统能在保证精度的同时有效降低功耗。新建一个 task,1000ms 打印一次。,如果睡眠时间小于改值,就不进入睡眠。
原创
发布博客 2024.11.29 ·
330 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

FreeRTOS 内存管理

FreeRTOS 提供了多种内存分配方案,使用不同的 文件来管理内存。每个 文件实现了不同的内存管理策略,旨在适应不同的应用需求。以下是常见的 文件及其区别和应用场景。 实现了一个非常简单的内存分配器。它使用一个固定大小的内存块,通过静态分配的内存池来管理内存。分配的内存块之间没有链接,因此不支持释放内存块。适用于以下场景:heap_2.c功能heap_2.c 提供了一个更复杂的内存分配器。它支持内存块的分配和释放,并且通过链表来管理空闲内存块。每次释放内存时,都会合并相邻的空闲内存块,从而减少
原创
发布博客 2024.11.27 ·
1188 阅读 ·
25 点赞 ·
0 评论 ·
9 收藏

FreeRTOS 命名约定和前缀说明

在 FreeRTOS 中,函数和变量名称的前缀遵循特定的命名约定,帮助开发者快速理解函数的作用、返回值类型或功能。eTaskGetState 返回任务的当前状态,如 eRunning 或 eBlocked。通过熟悉这些前缀,你可以更高效地阅读和理解 FreeRTOS 的代码以及开发自己的应用程序!portYIELD 是 FreeRTOS 的硬件移植层函数,用于触发任务切换。uxTaskGetNumberOfTasks 返回当前系统中任务的数量。pcTaskGetName 返回指定任务的名称字符串。
原创
发布博客 2024.11.27 ·
943 阅读 ·
26 点赞 ·
0 评论 ·
21 收藏

UAC2.0 speaker——speaker 数据传输

UAC2.0 speaker 系列文章。
原创
发布博客 2024.11.15 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——同时支持 16bit,24bit 和 32bit

在一个 USB speaker 设备中同时支持 16bit, 24bit 和 32bit。
原创
发布博客 2024.11.14 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——24/32bit 支持

要实现 24/32bit 的麦克风设备,描述符结构和设备描述符等一致。支持 24/32bit 之前先回顾一下 16bit 的枚举效果。和 16bit 不同的是。和 16bit 不同的是。
原创
发布博客 2024.11.14 ·
64 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——多采样率支持

Clock Source Descriptor 需要修改为频率可调。UAC2.0 多采样率支持需要在。这里请求的就是采样率的范围。命令中返回采样率集合。这里有三个采样率可选。可编程的 Clock。
原创
发布博客 2024.11.13 ·
252 阅读 ·
9 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——音量控制

UAC2.0 speaker 系列文章。
原创
发布博客 2024.11.13 ·
72 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——类特殊请求

UAC2.0 麦克风系列文章。
原创
发布博客 2024.11.13 ·
267 阅读 ·
9 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——双声道 USB speaker(16bit)

UAC2.0 麦克风系列文章。
原创
发布博客 2024.11.03 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UAC2.0 speaker——单声道 USB speaker(16bit)

UAC2.0 speaker系列文章。
原创
发布博客 2024.11.02 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多