C8051F USB怎么发送0长度字节数据?
在枚举过程中,因为枚举都是USB中断里自动处理的,找不到入口。 STM32的也行,有了解的没?深圳附近可以请吃饭感谢{:cry:} 既然是通信,收发都有包内容+包长度。 TX先填充内容后写长度再使能发送 RX先判断长度后转存数据最后释放端点//发送0字节
void usbep_send0(u8 ep)
{
//填充包内容0字节无内容略
SET_TXEP_LENG(0)//标记数据量
TXEN_EN()//使能端点发送
}
大概这个意思 huangqi412 发表于 2017-8-22 09:52
既然是通信,收发都有包内容+包长度。 TX先填充内容后写长度再使能发送 RX先判断长度后 ...
因为是枚举过程发送0字节长度数据,直接调用试过不行,应该要模拟get_report或者什么状态,现在不知道怎么发送出去。 graycker 发表于 2017-8-22 11:21
因为是枚举过程发送0字节长度数据,直接调用试过不行,应该要模拟get_report或者什么状态,现在不知道怎 ...
。。。。假设枚举某次发送18个字节,EP0_TX_SIZE=8,如何发送的? 电脑要--->单片机给8字节--》电脑收到应答--》单片机给8字节--》电脑收到继续应答--》单片机给2字节--》电脑收到应答--》单片机不再给。 如果换成别的数量一样,共同点在:电脑先要,一要就会产生中断。要到了会说一声,说一声也会产生中断。 别人要,你给不给你看自己心情。别人要到了告诉你,你继续给不给也看你心情。 如何看心情?看你状态,手中无粮想给也给不了,留着给其他人的也不能乱给。 什么时候给如何给?别人要的时候,以及别人收到了告诉你的时候,填缓冲和标记尺寸给。 这两个时候在哪?在中断分支树里某一分支,中断IF/ELSE分支好几层。 huangqi412 发表于 2017-8-22 11:44
。。。。假设枚举某次发送18个字节,EP0_TX_SIZE=8,如何发送的? 电脑要--->单片机给8字 ...
弄了一下午,还是没能找到地方。。。能写个示例不。。 huangqi412 发表于 2017-8-22 11:44
。。。。假设枚举某次发送18个字节,EP0_TX_SIZE=8,如何发送的? 电脑要--->单片机给8字 ...
那个返回0字节长度包,USB协议里都已经写了,现在是需要在空闲的时候主动发送0字节数据包(现有上位机驱动要求的)。不知道在哪里加才能正常通过。 graycker 发表于 2017-8-22 21:30
那个返回0字节长度包,USB协议里都已经写了,现在是需要在空闲的时候主动发送0字节数据包(现有上位机驱 ...
主动个屁 主从模式人家不要你不能强给 试过还是不行,可以发一个多个0,但发不了0字节长度数据,不懂,晚点换软硬件环境测下。
页:
[1]