TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28P650DK: USB外设批量传输数据的双缓冲模式如何使用

Part Number:TMS320F28P650DK

我在使用TMS32F28P650DK9型号芯片的USB外设进行批量传输,由于此型号芯片USB外设只支持全速模式(64字节),我现在需要提升发送数据的速率,通过查看芯片手册注意到USB传输有一个双缓冲模式,根据手册关于双缓冲发送策略的描述我是这样进行配置的:

//USB外设初始化USBDBulkInit(0, &g_sBulkDevice);//USB批量传输初始化之后进行双缓冲相关配置操作EALLOW;USBFIFOConfigSet(USBA_BASE, USB_EP_1, 64, USB_FIFO_SZ_64_DB, USB_EP_MODE_BULK | USB_EP_DEV_IN);//禁止 EndpointHWREGH(USBA_BASE + 0x112) &= ~(1 << 0);//设置 TX 双缓冲HWREGH(USBA_BASE + 0x342) &= ~(1 << 1);//启用 TX AUTOSETHWREGH(USBA_BASE + 0x113) |= 0x80;EDIS;

配置完之后,我在1ms中断中进行数据的发送:

USBDBulkPacketWrite(&g_sBulkDevice, Buf[usWriteIdx], 64, false);USBDBulkPacketWrite(&g_sBulkDevice, Buf[usWriteIdx+64], 64, true);EALLOW;HWREGH(USBA_BASE + 0x112) |= 0x01; // 设置 TXRDY 启动发送EDIS;

通过抓包看到一次只能发送一个64字节数据,双缓冲没有起到作用。

请问有关于TMS320F28P650DK使用双缓冲进行发送的例程吗?或者我的代码有哪些错误呢?

Taylor:

您好,

已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

,

bingbing ban:

好的,期待您的回复。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28P650DK: USB外设批量传输数据的双缓冲模式如何使用
分享到: 更多 (0)