原创 NUC120 VCOM试用

2011-7-8 16:05 4141 10 7 分类: MCU/ 嵌入式
以前在系统上加上USB功能,基本上是用USB转串口使用PL2303这样的芯片。或者使用USB HOST芯片如CH376这样的芯片。主要原因是不愿意编PC端的驱动程序。最近发现微软在WINDOWS上实现了一个USBSER 的CDC类。意思是当USB设备连接到系统时,将USB虚拟成一个WINDOWS下的串口。这样不用编别的驱动。原来的串口功能的应用程序都可以直接使用。我最先看到的是在STM32上实现的
nuvoton提供的程序中NUC100SeriesBSP_CMSIS.zip 中Smpl_VCOM也实现了这个功能。nuvoton提供的代码并没有太多的解释。正好我有一块新唐的NUC120的板子。刚好可以试一试。
smpl_vcom的基本功能是将USB虚拟为串口,利用NUC120上的另一个串口,实现从真实串口到虚拟串口之间的双向通信。我的板子上没有把串口接出来,当然不能直接用这个程序。
将程序稍稍修改了一下。
        while(gu32RxSize==0)
          DrvUSB_DataIn(BULK_IN_EP_NUM, "MASI-ISAM",strlen("MASI-ISAM"));
        /* Process the Bulk out data */
          if(gu32RxSize)
{
    gu32RxSize = 0;
/* Ready to get next BULK out */
    DrvUSB_DataOutTrigger(BULK_OUT_EP_NUM, BULK_EP_MXPLD);
}
当USB收到数据后,发一些东西出去。
一直用串口的思维来看USB。其实完全不对。串口通信只要设置好波特率数据位等参数,就可以收发了。USB却是一个总线方式的。是基于包和协议的。粗粗地可以这样理解。
USB 通信是一个HOST 连上若干个DEVICE。 按现在的USB2.0协议,一个HOST可以最多有127个device. PC机上有些鼠标,键盘,打印机,摄头,网卡都可以是USB device,127个应该足够了。
每个device可以有几个ENDPOINT,翻译成端口吧。各个端口可以有不同的作用。
不断连载中
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

southcreek 2012-6-2 10:42

gu32RxSize这个是代表收到的数据数目,为0表示没有数据。大于0则表示存在新收到的数据。

用户377235 2012-5-19 11:46

gu32RxSize这个是代表什么呢?

用户741296 2008-12-9 16:41

好啊! 正找呢……
相关推荐阅读
southcreek 2025-01-22 06:34
设置可执行程序图标
在本文的示例中,图标文件名称为“logo.ico”,该文件位于项目主目录下。2.2 设置标题栏图标通过下列函数设置标题栏图标:setWindowIcon(QIcon("://logo.ico"));1...
southcreek 2024-12-04 16:32
PWM输出隔离DAC设计
这个设计的目标是产生一个隔离的DAC输出。12V供电,产生0~5V的输出。达到10000约13.3位的分辨率。要求DAC输出在改变设置后1S内能稳定。需要能长时间保持稳定和低噪声。能达到要求的DAC只...
southcreek 2024-12-04 15:23
一个基于HAL库的串口控制框架
将串口接收配置为 DMA方式,DMA 使用 DMA_CIRCULAR 模式工作。串口接收的数据实际上构成循环队列。 定义一个结构Comm_typedef 结构体中包含指向接收到的第一字节位置chrc...
southcreek 2024-07-08 11:38
接地不良导致的故障分析
这个电路的控制板需要连接显示板和识别板。5V 供电和串行控制连到显示板,显示板再连接到识别板。识别板上电位器使用一个LDO供电,将输入的5V转成3.3V。当电位器滑动时,输出电压在0~3.3V之间。...
southcreek 2024-06-26 09:15
【EMC整改】带辅助加热的滴速控制器辐射抗扰整改
这个滴速式的输液泵使用一个红外线发射和接收装置,当有液滴通过时,会扰动检测信号,识别这个扰动检测到液滴滴下,获得滴壶中的液滴速度,调整阀门大小,实现输液速度控制。控制器还配备一根加热条,用于输液时对药...
southcreek 2024-06-06 08:52
QT 使用QSettings 操作ini文件配合表格操作
这个项目可以演示 使用QSetting 读取或写入 ini文件。并使用tablewidget 显示。Ini文件的格式如下,这个文件可以事先编写。也可以在程序中生成。有一个大类,下面有一个小类使用等号设...
我要评论
2
10
关闭 站长推荐上一条 /3 下一条