搜索

[蓝牙芯片] 关于CH579 USB端点发送数据问题

[复制链接]
144|5
 楼主 | 2020-10-21 15:20 | 显示全部楼层 |阅读模式
       在调用下面这个函数(DevEP1_IN_Deal())时,程序应该是会在下个循环把缓冲区里的数据发送出去,但如果我要实现调用这个函数时就立刻执行USB发送数据的操作需要增加哪条语句?
]FW59V389]D~OF[AS430UII.png

使用特权

评论回复
| 2020-10-21 15:32 | 显示全部楼层
USB的通信都是由主机发起的,主机发送IN包,设备才可以上传数据,设备是无法主动上传数据的

使用特权

评论回复
 楼主 | 2020-10-21 15:37 | 显示全部楼层
WCHTech2 发表于 2020-10-21 15:32
USB的通信都是由主机发起的,主机发送IN包,设备才可以上传数据,设备是无法主动上传数据的 ...

主机已发IN包了,我想知道该如何立刻应答数据包?而不是下个循环才发送

使用特权

评论回复
| 2020-10-21 17:16 | 显示全部楼层
春光一乍 发表于 2020-10-21 15:37
主机已发IN包了,我想知道该如何立刻应答数据包?而不是下个循环才发送

不明白您说的下个循环发送的概念。
设备收到IN包后,硬件判断USB端点CTRL的状态是否为ACK,RB_UIF_TRANSFER位是否为0(使能RB_UC_INT_BUSY位,默认初始化都使能该位),两个条件都满足时,硬件控制自动发送缓冲区的数据。

使用特权

评论回复
 楼主 | 2020-10-22 10:38 | 显示全部楼层
WCHTech2 发表于 2020-10-21 17:16
不明白您说的下个循环发送的概念。
设备收到IN包后,硬件判断USB端点CTRL的状态是否为ACK,RB_UIF_TRANSF ...

我说的下个循环指的是 下个主循环。
我想要实现的效果时在USB_DevTransProcess()中断里接收到上位机发出的OUT;
在 case UIS_TOKEN_OUT | 2:里检查上位机下发的指令;
检测到指令后跳转到Boot区域执行在线升级程序,我想在跳转之前就应答发送IN包

使用特权

评论回复
| 2020-10-22 13:08 | 显示全部楼层
春光一乍 发表于 2020-10-22 10:38
我说的下个循环指的是 下个主循环。
我想要实现的效果时在USB_DevTransProcess()中断里接收到上位机发 ...

您好,方便的话电话沟通:025-52635282.

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表