(转)什么是CDC类(Communication Device Class)

全文地址:http://justmei.blog.163.com/blog/static/1160998532010321112522467/

什么是CDC类 (Communication Device Class)

  USB的CDC类是USB通信设备类 (Communication Device Class)的简称。CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中速网络通信设备)使用的USB子类。根据CDC类所针对通信设 备的不同,CDC类又被分成以下不同的模型:USB传统纯电话业务(POTS)模型,USB ISDN模型和USB网络模型。其中,USB传统纯电话业务模型,有可分为直接线控制模型(Direct Line Control Model)、抽象控制模型(Abstract Control Model)和USB电话模型(USB Telephone Model),如图1所示。本文所讨论的虚拟串口就属于USB传统纯电话业务模型下的抽象控制模型。

通常一个CDC类又由两个接口子类组成通信接口类(Communication Interface Class)和数据接口类(Data
Interface
Class)。笔者主要通过通信接口类对设备进行管理和控制,而通过数据接口类传送数据。这两个接口子类占有不同数量和类型的终端点
(Endpoints),如图2所示。对于前面所述的不同CDC类模型,其所对应的接口的终端点需求也是不同的。如所需要讨论的抽象控制模型对终端点的需
求,通信接口类需要一个控制终端点(Control
Endpoint)和一个可选的中断(Interrupt)型终端点,数据接口子类需要一个方向为输入(IN)的周期性(Isochronous)型终端

点和一个方向为输出(OUT)的周期性型终端点。其中控制终端点主要用于USB设备的枚举和虚拟串口的波特率和数据类型(数据位数、停止位和起始位)设置

的通信。输出方向的非同步终端点用于主机(Host)向从设备(Slave)发送数据,相当于传统物理串口中的TXD线(如果从单片机的角度看),输入方
向的非同步终端点用于从设备向主机发送数据,相当于传统物理串口中的RXD线。

时间: 2024-10-07 09:43:08

(转)什么是CDC类(Communication Device Class)的相关文章

在进行USB CDC类开发时,无法发送64整数倍的数据

1 前言 本文将基于STM32F4DISCOVERY板,介绍如何使用USB的CDC类进行开发,以及在开发过程中碰到发送64整数倍数据时会失败的问题分析及解决方案. 2 硬件介绍 在创建工程之前,我们首先即将使用的硬件进行必要的介绍. 如上图所示,USB电路使用PA11,PA12,全速USB OTG,当然,这里只做device,英雌只需要看上图的下面部分. 如上图,本例中将使用到1个用户按键,PA0,按下时为1电平. 另外,晶振使用的是外部HSE 8M晶振. 3 创建CubeMx工程 打开Cube

CDC类介绍

CDC类 中文介绍 CDC类定义的是设备上下文对象的类. CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员. 通过CDC对象的成员函数进行所有的绘图. 类对设备上下文操作提供了成员函数,处理绘图工具.安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板. 它还为获取和设置绘图属性.映射,处理视点.窗口扩展.转换坐标,处理区域.剪贴.绘制直线及绘制简单椭圆和多边形等形状提供了成员函数. 另外还为绘制文本.处理字体,使用打印机跳转,滚动和播放元

VC/MFC的HDC,CDC,CWindowDC,CClientDC,CPaintDC详解:

首先说一下什么是DC(设备描述表) 解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制.DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息.Win32程序在绘制 图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉. 在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样的类 HDC是DC的句柄,API中的一个类似指针

MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文 [转]

在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API.你说你喜欢C++而MFC换一种说法就是一个用C++写的一个函数库 然后你来调用 只不过这个类不是你写的 MFC提供数百个类,最重要的.也是编写任何VC++应用程序都必不可少的两个类CWinApp和CFrameWnd,这两个类是编写复杂庞大应用程序的基石. 1>封装特性:构成MFC框架的是MFC类库而MFC类库又是C++的一个类库.这些类封装W

MFC——CDC

CDC类定义的是设备上下文对象的类,有称设备环境对象类. Windows使用与设备无关的图形设备环境(DC:Device Context)进行显示. 说到CDC类就不能不提一下GdiObject——图形对象类. 在Windows应用程序中,设备环境与图形对象共同工作,协同完成绘图显示工作.就像画家绘画一样,设备环境好比是画家的画布,图形对象好比是画家的画笔.用画笔在画布上绘画,不同的画笔将画出不同的画来. 父类: 从 CObject 直接继承而来.继承了CObject类的各种特性,如动态创建等等

MFC中的DC,CDC和HDC

       设备描述表(DC)是Windows中的一种数据结构,它包含GDI需要的所有关于显示界面情况的描述字段,包括相连的物理设备和各种各样的状态信息. 图形显示功能是由显卡来完成的,你想要利用显卡的图形显示功能来完成你的图形输出,怎么办,给你一块硬件能用吗?好,现在厂商给你提供一个驱动程序,给你一些调用的接口,你就可以访问了吧.但这种访问是在驱动层,很麻烦,更麻烦的是,每个厂商给自己显卡提供的驱动程序还不一样,那我们写的图形输出程序岂不是换台机器(不一样的显卡)就得修改,一个字:累,两个字

C++MFC编程笔记day06 MFC向导、MFC绘图类使用

MFC绘图 MFC绘图类包括绘图设备类和绘图对象类 1 绘图设备类 CDC类-父类是CObject,封装的是一般的绘图设备,例如:显示器, 打印机等. CWindowDC类-父类是CDC类,封装的是窗口对象,包括客户区和非 客户区. CClientDC类-父类是CDC类,封装的仍然是窗口,但是只包括客户区. CPaintDC类-父类是CDC类,封装的是窗口的客户区.但是,它只用 在窗口的WM_PAINT消息处理函数中. CMetaFileDC类-父类是CDC类,作用保存绘制命令. 2 使用 创建

DC、CDC及CDC的各个子类

设备描述表是一个包含设备信息的结构体(物理设备如显示器.打印机),MFC中关于图像操作都需要DC来完成.HDC是Windows的一种数据类型,是设备描述句柄:CDC是MFC封装的Windows 设备相关的一个类: CClientDC是CDC的衍生类,产生对应于Windows客户区的对象,在构造的时候调用GetDC,在析构的时候调用ReleaseDC;CWindowDC也是CDC的衍生类,在构造的时候调用GetWindowDC,在析构时调用ReleaseDC,可访问CWnd的整个屏幕,包括客户去和

几何对象的结构和类

为了使用绘图函数,应该先了解绘图所用到的几种表示几何对象的结构和类.这些结构和类分别定义在头文件windef.h和afxwin.h中. 1.点 1)点结构POINT 点数据结构POINT用来表示一点的x.y坐标: typedef struct tagPOINT { LONG x; LONG y; } POINT; 2)点类CPoint 点类CPoint为一个没有基类的独立类,封装了POINT结构,有成员变量x和y,其构造函数有5种: CPoint( ); CPoint( int initX, i