Solved
USB CDC receving more than one char
Hello,
I wonder, is it possible to receive more than one char (1 byte) at the time? For now I can only receive one in one message, i can't find the solution to receive more.
Here is my code:
/**usbd_cdc_if.c**/
static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
{
/* USER CODE BEGIN 6 */
USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
USBD_CDC_ReceivePacket(&hUsbDeviceFS);
extern uint8_t received_buffor[64];
extern uint8_t received_flag;
for(int i = 0; i < 64; i++){
received_buffor[i] = 0;
}
strlcpy(received_buffor, Buf, (*Len) + 1);
received_flag = 1;
return (USBD_OK);
/* USER CODE END 6 */
}
/**main.c**/
uint8_t received_buffor[64];
uint8_t send_buffor[64];
uint8_t received_flag = 0;
uint8_t len;
int main(void)
{
while (1)
{
if(received_flag == 1){
received_flag = 0;
len = sprintf(send_buffor, "Received: %s\n\r", received_buffor);
CDC_Transmit_FS(send_buffor, len);
}
}Thanks in advance :)
