ST意法半导体
直播中

何夏庄

7年用户 973经验值
私信 关注
[问答]

虚拟端口com中USB的问题求解

大家好你们好,
我的 USB 有一些问题。我已经在通信设备类(虚拟端口 com)中配置了我的 STM32L476 的 USB 端口。
我可以在我的终端上发送和接收数据。
我正在做的是以下内容:
  • sprintf(buf,BYTE_TO_BINARY_PATTERN,BYTE_TO_BINARY(micro_switch));
  •         strcpy(usb_buf,"Etats des microswitchs : ");
  •         strcat(usb_buf,buf);
  •         strcat(usb_buf,"rn");
  •         CDC_Transmit_FS(usb_buf,strlen(usb_buf));
  •         /* Valeur du 0/10V channel 1 */
  •         strcpy(usb_buf,"0-10V - channel 1 : ");
  •         gcvt(calcul_tension(tab_val_ana_moy[0]),4,buf);
  •         strcat(usb_buf,buf);
  •         strcat(usb_buf," Volts rn");
  •         CDC_Transmit_FS(usb_buf,strlen(usb_buf));
  •         /* Valeur du 0/10V channel 2 */
  •         strcpy(usb_buf,"0-10V - channel 2 : ");
  •         gcvt(calcul_tension(tab_val_ana_moy[1]),4,buf);
  •         strcat(usb_buf,buf);
  •         strcat(usb_buf," Volts rn");
  •         CDC_Transmit_FS(usb_buf,strlen(usb_buf));
  •         /* Nombre d'impulsions du compteur d'énergie */
  •         sprintf(buf,"%d",comptage_impulsion);
  •         strcpy(usb_buf,"nombre d'impulsions du compteur d'énergie : ");
  •         strcat(usb_buf,buf);
  •         CDC_Transmit_FS(usb_buf,strlen(usb_buf));
因此,终端应该显示四行数据,但只显示了两行(有时是三行)。
是否存在缓冲区大小或时间问题?
如果你有一些想法,我会很高兴。








回帖(1)

尚文忠

2022-12-2 11:24:37
在调用 CDC_Transmit 之前,您需要检查之前的传输是否消失。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分