diff --git a/components/drivers/usb/usbdevice/class/cdc_vcom.c b/components/drivers/usb/usbdevice/class/cdc_vcom.c index 62f3bdcb28eaf4f4ecbb030c6260f6b234f9d301..a2eb5e66a0c7a5cda887b86266d85fde74257530 100644 --- a/components/drivers/usb/usbdevice/class/cdc_vcom.c +++ b/components/drivers/usb/usbdevice/class/cdc_vcom.c @@ -400,12 +400,13 @@ static rt_err_t _interface_handler(ufunction_t func, ureq_t setup) break; case CDC_SET_LINE_CODING: _cdc_set_line_coding(func->device, setup); - data->connected = RT_TRUE; break; case CDC_GET_LINE_CODING: _cdc_get_line_coding(func->device, setup); break; case CDC_SET_CONTROL_LINE_STATE: + data->connected = (setup->wValue & 0x01) > 0?RT_TRUE:RT_FALSE; + RT_DEBUG_LOG(RT_DEBUG_USB, ("vcom state:%d \n", data->connected)); dcd_ep0_send_status(func->device->dcd); break; case CDC_SEND_BREAK: