请教各位大侠一个关于CC2540 USB的问题,具体的code如下:
// Poll for data to USB.
void usbHIDSendData(void)
{
uint8 ep = 0x00;
uint8 max = HAL_UART_USB_TX_MAX;
// Save current endpoint
ep = USBFW_GET_SELECTED_ENDPOINT();
// Select endpoint4
USBFW_SELECT_ENDPOINT(4);
// If the IN endpoint is ready to accept data.
if (USBFW_IN_ENDPOINT_DISARMED() && (ucUSB0Send == 1))
{
if(isrCfg.rxHead != isrCfg.rxTail)
{
do
{
USBF4 = isrCfg.rxBuf[isrCfg.rxHead++];
} while ((isrCfg.rxHead != isrCfg.rxTail) && (0 != --max));
USBFW_ARM_IN_ENDPOINT();
}
// rx buffer empty
if (isrCfg.rxHead == isrCfg.rxTail)
{
isrCfg.rxHead = 0x00;
isrCfg.rxTail = 0x00;
ucUSB0Send = 0;
}
}
USBFW_SELECT_ENDPOINT(ep);
}
使用endpoint4作为fifo,先讲rxBuf中数据写入endpoint4,然后USBFW_SELECT_ENDPOINT(ep);
但是用Bus Bound监听不到数据,不知道是不是Bus Bound不能被动接受数据还是USB寄存器配置的不对?
USB 发送数据还要配置那些寄存器啊?
希望ti的工程师能够提供一些帮助,也欢迎各位大侠不吝赐教。