本帖最后由 WAMCNCN 于 2017-4-29 23:24 编辑
USB OTG HS作为设备时用做虚拟串口通讯,使用STMCubeMX配置比较容易。
其它默认导出工程。
应用层user多了几个文件。设备文件,Cdc类,配置文件,和设备描述符文件。cdc类文件中包括接收、发送、控制函数。
可以直接调用发送函数通过虚拟串口向主机发送数据。
- uint8_t CDC_Transmit_HS(uint8_t* Buf, uint16_t Len)
- {
- uint8_t result = USBD_OK;
- /* USER CODE BEGIN 12 */
- USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceHS.pClassData;
- if (hcdc->TxState != 0){
- return USBD_BUSY;
- }
- USBD_CDC_SetTxBuffer(&hUsbDeviceHS, Buf, Len);
- result = USBD_CDC_TransmitPacket(&hUsbDeviceHS);
- /* USER CODE END 12 */
- return result;
- }
在主函数里设置发送的数据
- uint8_t FatfsBuff[]="21ic社区和STM32F722E DISC开发板试用...\r\n";
在while循环里没各一秒发送一次
编译下载,连接HS USB接口道电脑上,没有虚拟串口驱动会自动搜索安装。
使用测速软件不靠谱,相差太多了。
|