华芯微特开发论坛

 找回密码
 立即注册
搜索
热搜: SWM341 资料
查看: 357|回复: 2

使用SWM34SRET6的USB虚拟串口怎么发送和接收数据

[复制链接]

1

主题

2

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2025-10-13 12:02:16 | 显示全部楼层 |阅读模式
烧录了资料里的VCOM_Serial示例,生成了USB串行设备,但是不知道怎么进行数据发送和接收。
示例里面只有一个VCOM_TransferData()函数。
回复

使用道具 举报

1

主题

9

帖子

125

积分

注册会员

Rank: 2

积分
125
发表于 2025-10-16 15:28:15 | 显示全部楼层
调用vcom_serail.c的putOneChar函数即可发送,例如
  1. void VcomWrite(uint8_t *buf, uint8_t len)
  2. {
  3.     for (uint32_t i = 0; i < len; i++)
  4.     {
  5.         putOneChar(buf[i]);
  6.         
  7.     }
  8.     RX_Timeout = 1;
  9. }
复制代码


接收处于VCOM_TransferData函数的末尾:
  1. if(vcom.tx_bytes)
  2.     {
  3.         while(!UART_IsTXFIFOFull(UART0))
  4.                 {
  5.                         UART0->DATA = vcom.tx_buff[vcom.tx_head++];   //这里是丢进UART串口里,可以自行创建内存进行存储
  6.                         if(vcom.tx_head >= TX_BUFF_SIZE)
  7.                                 vcom.tx_head = 0;
  8.                         vcom.tx_bytes--;
  9.                        
  10.                         if(vcom.tx_bytes == 0)
  11.                                 break;
  12.                 }
  13.     }
复制代码
回复

使用道具 举报

1

主题

2

帖子

23

积分

新手上路

Rank: 1

积分
23
 楼主| 发表于 2025-10-17 17:37:26 | 显示全部楼层
路此曦 发表于 2025-10-16 15:28
调用vcom_serail.c的putOneChar函数即可发送,例如

谢谢答复,但是从代码看,还是从UART0接收和发送数据,不是从USB虚拟串口。我测试了UART0确实有数据传输,但是虚拟出来的串口没有。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|华芯微特开发论坛

GMT+8, 2026-9-17 18:36 , Processed in 0.031523 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表