Python STM32F4 USB CDC,can和x27;t将数据与pyserial一起使用

Python STM32F4 USB CDC,can和x27;t将数据与pyserial一起使用,python,usb,stm32,pyserial,cdc,Python,Usb,Stm32,Pyserial,Cdc,我对STM32F4 USB CDC和pyserial的组合有问题。如果STM32中的代码要处理main.c中接收的数据,则无法打开端口。如果没有,我可以发送和接收没有问题,信息成功地存储在UserRxBufferFS中 我发现以下错误: >>> ser.open() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Program Fil

我对STM32F4 USB CDC和pyserial的组合有问题。如果STM32中的代码要处理main.c中接收的数据,则无法打开端口。如果没有,我可以发送和接收没有问题,信息成功地存储在UserRxBufferFS中

我发现以下错误:

>>> ser.open() Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "C:\Program Files\Anaconda2\lib\site-packages\serial\serialwin32.py", line 78, in open
    self._reconfigure_port()   File "C:\Program Files\Anaconda2\lib\site-packages\serial\serialwin32.py", line 222, in
_reconfigure_port
    'Original message: {!r}'.format(ctypes.WinError())) serial.serialutil.SerialException: Cannot configure port, something went wrong. Original message: WindowsError(87, 'Falscher Parameter.')
>>ser.open()回溯(最近一次调用最后一次):文件“C:\Program Files\Anaconda2\lib\site packages\serial\serialwin32.py”第78行第1行中的文件“”
self.\u重新配置\u port()文件“C:\Program Files\Anaconda2\lib\site packages\serial\serialwin32.py”,第222行,在
_重新配置\u端口
'原始消息:{!r}'。格式(ctypes.WinError())serial.serialutil.SerialException:无法配置端口,出现问题。原始消息:WindowsError(87,“Falscher参数”。)
我试图将数据存储在我在usbd_cdc_if.h中声明的全局变量中:

usbd_cdc_if.h:
extern int my_buf[8]
usbd_cdc_if.c:
my_buf[0]=UserRxBufferFS[0]

-->错误

试图在回调中调用一个函数,该函数将信息带到我的main.c-->错误

尝试使用指向缓冲区-->错误的全局指针

当我使用windows终端时,所有这些都正常工作。 但是我需要用pyserial。当我不处理数据时,我可以毫无问题地连接、发送和接收所有数据

有人对这个问题有什么想法和解决方法吗

WindowsError(87,“Falscher参数”。)

我想你知道这意味着“错误的参数”。您是否向例程发送了无效参数

请注意,
UserRxBufferFS
很可能被定义为类似于
无符号字符(1字节长),因为通信是逐字节的。您正在将缓冲区定义为
int
,其长度可能为2或4字节

也许您将
int
传递给传输或初始化例程,该例程需要字节?(或
无符号字符
s)

将第一个元素从
UserRxBufferFS
传输到
my_buf
,这可能会将
无符号字符
复制到
int
,这也会产生意外的结果

my_buf[0]=UserRxBufferFS[0];