diff --git a/others/src/uart/uart.cpp b/others/src/uart/uart.cpp index 06de6ef..e9ea4f7 100644 --- a/others/src/uart/uart.cpp +++ b/others/src/uart/uart.cpp @@ -7,33 +7,51 @@ #include #include -using std::cout; -using std::cerr; -using std::clog; -using std::dec; -using std::endl; -using std::hex; +using namespace std; GMAngle_t aim; +string get_uart_dev_name(){ + FILE* ls = popen("ls /dev/ttyUSB* --color=never", "r"); + char name[20] = {0}; + fscanf(ls, "%s", name); + return name; +} Uart::Uart(){ if(wait_uart){ - while((fd = open("/dev/ttyUSB0", O_RDWR)) < 0); + string name; + do{ + name = get_uart_dev_name(); + if(name == ""){ + continue; + } + }while((fd=open(name.data(), O_RDWR)) < 0); }else{ - fd = open("/dev/ttyUSB0", O_RDWR); + string name = get_uart_dev_name(); + if(name == ""){ + cerr<<"open port error"<