Norimasa Okamoto
/
USB-to-UART-bridge
USB to UART bridge
Fork of XBee-ExplorerLite by
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 // main.cpp 2015/7/8 00002 // USB-to-UART-bridge 00003 #include "BaseUsbUartBridge.h" 00004 00005 DigitalInOut uart_nRTS(p5); 00006 DigitalInOut uart_nDTR(p6); 00007 #if defined(TARGET_MCU_LPC11U35_501) 00008 DigitalOut led_uart(LED1); 00009 DigitalOut led_usb(LED2); 00010 DigitalOut led_rts(p18); 00011 DigitalOut led_dtr(p20); 00012 #else 00013 DigitalOut led_uart(LED1); 00014 DigitalOut led_usb(LED2); 00015 DigitalOut led_rts(LED3); 00016 DigitalOut led_dtr(LED4); 00017 #endif 00018 00019 class USB_UART : public BaseUsbUartBridge { 00020 public: 00021 USB_UART(PinName tx, PinName rx) : BaseUsbUartBridge(tx, rx) { 00022 uart_nRTS.mode(PullUp); 00023 uart_nDTR.mode(PullUp); 00024 uart_nRTS.input(); 00025 uart_nDTR.input(); 00026 } 00027 virtual void controlLineStateChanged(int rts, int dtr) { 00028 led_rts = rts; 00029 led_dtr = dtr; 00030 if (rts) { 00031 uart_nRTS.output(); 00032 uart_nRTS = 0; 00033 } else { 00034 uart_nRTS.input(); 00035 } 00036 if (dtr) { 00037 uart_nDTR.output(); 00038 uart_nDTR = 0; 00039 } else { 00040 uart_nDTR.input(); 00041 } 00042 } 00043 virtual void monitor(src_t src, uint8_t c) { 00044 switch(src) { 00045 case _UART: led_uart = !led_uart; break; 00046 case _USB: led_usb = !led_usb; break; 00047 } 00048 } 00049 } usb_uart(UART_TX, UART_RX); 00050 00051 int main() { 00052 while(1) { 00053 usb_uart.poll(); 00054 } 00055 }
Generated on Wed Jul 13 2022 06:59:21 by 1.7.2