|
@@ -349,8 +349,7 @@ static E_STATUS ttyuart_switchto_rs485(const char *uartdev, int logicLevel)
|
|
|
|
|
|
SET_UART_RTS_ACTIVE_LOGIC(rs485conf.flags, logicLevel);
|
|
|
|
|
|
-// rs485conf.flags |= SER_RS485_ENABLED | SER_RS485_RX_DURING_TX;
|
|
|
- rs485conf.flags |= SER_RS485_ENABLED;
|
|
|
+ rs485conf.flags |= SER_RS485_ENABLED | SER_RS485_RX_DURING_TX;
|
|
|
|
|
|
return ttyuart_set_rs485conf(uartdev, &rs485conf);
|
|
|
}
|
|
@@ -1194,6 +1193,13 @@ static void cp210x_command_handle(int argc, char **argv)
|
|
|
libusb_exit(g_LibusbContext);
|
|
|
}
|
|
|
|
|
|
+static void cp210x_hardware_reset(void)
|
|
|
+{
|
|
|
+ gpio_set("CP2102N-RESET", 0);
|
|
|
+ sleep(1);
|
|
|
+ gpio_set("CP2102N-RESET", 1);
|
|
|
+}
|
|
|
+
|
|
|
static void print_usage(const char *name)
|
|
|
{
|
|
|
printf("\
|
|
@@ -1236,6 +1242,10 @@ int main(int argc, char **argv)
|
|
|
gpio_switch_mode(mode, terminate);
|
|
|
}
|
|
|
}
|
|
|
+ else if(compare_string(argv[1], "-r,--reset", e_case_insensitive))
|
|
|
+ {
|
|
|
+ cp210x_hardware_reset();
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
ERROR("parameter error\n");
|