Fix USBtoSerial device demos -- ensure the UDR1 register contents is read in under...
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 16 Aug 2009 10:57:47 +0000 (10:57 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 16 Aug 2009 10:57:47 +0000 (10:57 +0000)
Demos/Device/ClassDriver/USBtoSerial/USBtoSerial.c
Demos/Device/LowLevel/USBtoSerial/USBtoSerial.c

index 0c83cd8..8ef07f1 100644 (file)
@@ -147,8 +147,10 @@ void EVENT_USB_Device_UnhandledControlPacket(void)
  */\r
 ISR(USART1_RX_vect, ISR_BLOCK)\r
 {\r
+       uint8_t ReceivedByte = UDR1;\r
+\r
        if (USB_DeviceState == DEVICE_STATE_Configured)\r
-         Buffer_StoreElement(&Tx_Buffer, UDR1);\r
+         Buffer_StoreElement(&Tx_Buffer, ReceivedByte);\r
 }\r
 \r
 /** Event handler for the CDC Class driver Line Encoding Changed event.\r
index 141a452..d5e871c 100644 (file)
@@ -296,9 +296,11 @@ void CDC_Task(void)
  */\r
 ISR(USART1_RX_vect, ISR_BLOCK)\r
 {\r
+       uint8_t ReceivedByte = UDR1;\r
+\r
        /* Only store received characters if the USB interface is connected */\r
        if ((USB_DeviceState != DEVICE_STATE_Configured) && LineEncoding.BaudRateBPS)\r
-         Buffer_StoreElement(&Tx_Buffer, UDR1);\r
+         Buffer_StoreElement(&Tx_Buffer, ReceivedByte);\r
 }\r
 \r
 /** Reconfigures the USART to match the current serial port settings issued by the host as closely as possible. */\r