打印
[蓝牙芯片]

关于CH579 USB端点发送数据问题

[复制链接]
763|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
春光一乍|  楼主 | 2020-10-21 15:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       在调用下面这个函数(DevEP1_IN_Deal())时,程序应该是会在下个循环把缓冲区里的数据发送出去,但如果我要实现调用这个函数时就立刻执行USB发送数据的操作需要增加哪条语句?


使用特权

评论回复
沙发
WCHTech2| | 2020-10-21 15:32 | 只看该作者
USB的通信都是由主机发起的,主机发送IN包,设备才可以上传数据,设备是无法主动上传数据的

使用特权

评论回复
板凳
春光一乍|  楼主 | 2020-10-21 15:37 | 只看该作者
WCHTech2 发表于 2020-10-21 15:32
USB的通信都是由主机发起的,主机发送IN包,设备才可以上传数据,设备是无法主动上传数据的 ...

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

使用特权

评论回复
地板
WCHTech2| | 2020-10-21 17:16 | 只看该作者
春光一乍 发表于 2020-10-21 15:37
主机已发IN包了,我想知道该如何立刻应答数据包?而不是下个循环才发送

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

使用特权

评论回复
5
春光一乍|  楼主 | 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包

使用特权

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

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

41

帖子

0

粉丝