我正在尝试通过USB将数据从C#应用程序发送到one STM32开发板。我对SerialPort.Write()方法有问题,因为write方法只发送第一个字符,而不是数组或字符串的所有字符。串行终端也有同样的情况(terminte、cutecome、..)当尝试发送字符串时。谁能给我解释一下cdc usb到底是怎么工作的。STM32是否在每帧中以相同的方式逐个字符发送数据?我没有使用逻辑分析仪来查看信号,但这可能会是下一步。如果谁有usb cdc框架的照片,请分享。
当我将字符串从STM32开发板发送到C#应用程序时,它工作正常。欢迎任何想法
发布于 2020-12-08 03:01:59
如果以正确的方式调用,C# SerialPort.Write函数能够一次编写整个字符串。字符串的字节将被传递到操作系统的USB驱动程序,该驱动程序将根据设备的USB描述符中指定的端点的最大数据包大小将其拆分为数据包。然后,这些数据包将被发送到设备,一次一个数据包。
我怀疑您的STM32代码中存在错误,但由于您尚未发布MCVE,因此很难帮助您调试任何代码。
https://stackoverflow.com/questions/65183405
复制相似问题