Hi,
I ran into same issue recently. Does anyone know how to solve it?
I am using LPC1549 and LPCOpen 2.20.
EDIT: Never mind, I made a quick fix by creating an alternative function, which waits for VCOM_TX_BUSY flag to clear.
uint32_t vcom_write_blocking(uint8_t *pBuf, uint32_t len)
{
VCOM_DATA_T *pVcom = &g_vCOM;
uint32_t ret = 0;
while(pVcom->tx_flags & VCOM_TX_BUSY){}
if ( (pVcom->tx_flags & VCOM_TX_CONNECTED) && ((pVcom->tx_flags & VCOM_TX_BUSY) == 0) ) {
pVcom->tx_flags |= VCOM_TX_BUSY;
NVIC_DisableIRQ(USB0_IRQn);
ret = USBD_API->hw->WriteEP(pVcom->hUsb, USB_CDC_IN_EP, pBuf, len);
NVIC_EnableIRQ(USB0_IRQn);
}
return ret;
}