Hallo zusammen,
anbei habe ich folgenden Code,mit dem ich über eine Terminalsoftware was
an den AT90USB162 (Lufa Implementierung für USB CDC) sende und er mir
das gleiche wieder zurücksenden soll.
Es klappt auch, nur halt sehr langsam, also ich kann nicht frei drauf
lostippen und muss zwischen den einzelnen Eingaben warten bis diese
akzeptiert werden.
Mache ich hier was grundlegendes falsch? Und vorallem, müsste ich bei
einem empfangen Byte nicht in eine Interrupt Routine abspringen können?
1 | int main(void)
|
2 | {
|
3 |
|
4 | SetupHardware();
|
5 | CDC_Device_CreateStream(&VirtualSerial_CDC_Interface, &USBSerialStream);
|
6 | sei();
|
7 |
|
8 | for (;;)
|
9 | {
|
10 | CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
|
11 |
|
12 | int16_t ReceivedByte = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
|
13 | if (!(ReceivedByte < 0))
|
14 | CDC_Device_SendByte(&VirtualSerial_CDC_Interface, (uint8_t)ReceivedByte);
|
15 |
|
16 |
|
17 | CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
|
18 |
|
19 | USB_USBTask();
|
20 |
|
21 | }
|
22 | }
|