rt-thread icon indicating copy to clipboard operation
rt-thread copied to clipboard

🐞[USB/CDC]cdc_vcom中get_line_coding函数获取默认为115200

Open supperthomas opened this issue 5 years ago • 0 comments

`/**

  • This function will handle cdc_get_line_coding request.

  • @param device the usb device object.

  • @param setup the setup request.

  • @return RT_EOK on successful. */ static rt_err_t _cdc_get_line_coding(udevice_t device, ureq_t setup) { struct ucdc_line_coding data; rt_uint16_t size;

    RT_ASSERT(device != RT_NULL); RT_ASSERT(setup != RT_NULL);

    RT_DEBUG_LOG(RT_DEBUG_USB, ("_cdc_get_line_coding\n"));

    data.dwDTERate = 115200; data.bCharFormat = 0; data.bDataBits = 8; data.bParityType = 0; size = setup->wLength > 7 ? 7 : setup->wLength;

    rt_usbd_ep0_write(device, (void*)&data, size);

    return RT_EOK; }`

这边get_line_coding直接返回的是115200并没有获取真正的当前的line_coding参数。 我的理解是,上层HOST可能修改这个line_coding, 通过函数_cdc_set_line_coding通过这个函数来设置。 比如HOST设置了 波特率是921600.获取的返回值是默认115200.不知道这边是否有什么问题?

supperthomas avatar Sep 13 '20 13:09 supperthomas