- 打卡等级:初来乍到
- 打卡总天数:6
- 最近打卡:2024-03-20 22:27:30
注册会员
- 积分
- 106
|
发表于 2024-3-8 11:34:39
|
显示全部楼层
本帖最后由 dongchengya 于 2024-3-8 11:48 编辑
把 printf(); 换成 USB_SendData(); (具体如下代码 )
结果是一样的问题 ,仍然对其他的线程有严重的影响 ,
1、 打开上位机串口软件就能正常发送数据,LED闪烁线程能正常闪烁,
2、 关闭上位机串口软件后,LED线程停止工作,LED灯不再闪烁,
3、 重新打开上位机串口软件,LED灯再次闪烁 ,
这是不正常的
while(1)
{
EUSB = 1;
if(DeviceState != DEVSTATE_CONFIGURED) //等待USB完成配置
continue;
if (bUsbOutReady)
{
usb_OUT_done(); //接收应答(固定格式)
printf("OutNumber=0x%X\r\n",OutNumber); //使用 printf 函数打印接收数据长度
USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度
}
sprintf(UsbInBuffer, "error");
USB_SendData(UsbInBuffer,strlen(UsbInBuffer));
vTaskDelay(1);
}
vTaskDelete(NULL);
}
|
|