STM32F4 As USB HID Device
Hi
I'm create a project that sending data from RFID reader (RS232) to PC (via USB HID) as a keyboard.
I using RS232 to TTL for STM32 can read data and using USB HID to send it to PC.
My code is working but a character sending is slow, but when i remove delay, character is missing.
Ex: data from RFID: 4F002F144E
When I have 15ms delay, my PC receive all character
But when remove 15ms, some character is miss.
So I want to ask have anyway to speedup ?
This is my loop:
while (RingBuffer_Availabel(&ring)) {
uint8_t data;
RingBuffer_Pop(&ring, &data);
if(data == '\r'){
send_enter();
break;
}
keyboardhid.MODIFIER = (data >= 'A' && data <= 'Z') ? 0x02 : 0x00;
keyboardhid.KEYCODE1 = ascii_to_hid((char) data);
USBD_HID_SendReport(&hUsbDeviceFS, (uint8_t*) &keyboardhid,sizeof(keyboardhid));
HAL_Delay(15);
usb_ready = 0;
keyboardhid.MODIFIER = 0x00;
keyboardhid.KEYCODE1 = 0x00;
USBD_HID_SendReport(&hUsbDeviceFS, (uint8_t*) &keyboardhid,sizeof(keyboardhid));
HAL_Delay(15);
}
