文章目录

  • 一、 简介
  • 二、常用的D2XX 函数
  • 参考文献

注:转载请注明出处
作者:雪天鱼,,
记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。

Version Date
1.0 2021.12.24

FTDI 为其驱动程序提供 DLL 和虚拟 COM 端口 (VCP) 应用程序接口,现主要学习 FTD2XX 驱动。

一、 简介

FTDI的 D2XX 驱动下载链接:D2XX
可以选择直接使用 CDM 驱动安装程序进行安装,CDM驱动包含了D2XX 和 VCP两种驱动。

  • VCP:在系统设备管理器中显示为COM端口,提供了交互API。
  • D2XX:通过FTD2XX.DLL实现,提供 COM端口 API不具备的一些功能,例如将设备设置为不同的模式或将数据写入设备EEPROM。

其中 D2XX 是针对FTDI设备设计的专用驱动,不支持其他设备。
windows下CDM驱动架构如图1所示:

图1 Windows下 CDM驱动架构

可以看到D2XX驱动和VCP驱动都是在 USB Host Controller 驱动基础上建立的。

二、常用的D2XX 函数

D2XX驱动程序能够通过DLL直接访问USB设备。 应用程序可以通过一系列的DLL函数调用访问USB设备。D2XX 驱动的函数库提供了很多API,其中常用的函数如图2所示:

图2 D2XX 常用函数

这些函数基本能满足绝大部分的用户需求了。
简单例举几个函数的功能,不做深入研究,为后续写USB设备驱动程序做准备:

  • FT_SetVIDPID
  • FT_GetVIDPID
  • FT_CreateDeviceInfoList

参考文献

【1】D2XX Programmer’s Guide

FTDI FTD2XX 驱动学习笔记(一)相关推荐

  1. 转载:mongoDB java驱动学习笔记

    http://www.blogjava.net/watchzerg/archive/2012/09/22/388346.html mongoDB java驱动学习笔记 指定新mongo实例: Mong ...

  2. 【嵌入式环境下linux内核及驱动学习笔记-(16)linux总线、设备、驱动模型之input框架】

    目录 1.Linux内核输入子系统概念导入 1.1 输入设备工作机制 1.2 运行框架 1.3 分层思想 2.驱动开发步骤 2.1 在init()或probe()函数中 2.2 在exit()或rem ...

  3. 【嵌入式环境下linux内核及驱动学习笔记-(15-1)例程】

    目录 1.在APP直接调用标准文件IO操作I2C(针对学习笔记-15的15.3节) 1.1 mail.c 1.2 mpu6050.h 1.3 mpu6050.c 1.4 Makefile 2.以外称i ...

  4. Linux 驱动学习笔记 - beep(九)

    Linux 驱动学习笔记 - beep(九) 本系列均为正点原子 Linux 驱动的学习笔记, 以便加深笔者记忆.如读者想进一步学习,可以到正点原子官网中下载资料进行学习. 添加 pinctrl 节点 ...

  5. Linux驱动学习笔记

    驱动学习笔记 1.字符设备驱动 Linux 驱动有两种运行方式 第一种就是将驱动编译进 Linux 内核中,这样当 Linux 内核启 动的时候就会自动运行驱动程序. 第二种就是将驱动编译成模块(Li ...

  6. 驱动学习笔记 IRP

    在学习内核过滤驱动的过程中,遇到了大量的涉及IRP操作的代码,这里有必要对IRP的数据结构和与之相关的API函数做一下笔记. 1. 相关阅读资料 <深入解析 windows 操作系统(第4版,中 ...

  7. IMX6ULL嵌入式Linux驱动学习笔记(二)

    IMX6ULL嵌入式Linux驱动学习 一.字符设备驱动 二.驱动模块的加载与卸载 三.字符设备的注册与注销 四.设备号 五.file_operations的具体实现 六.字符设备驱动框架 七.编写应 ...

  8. hi3536 pcie驱动学习笔记

    Hi3536 PCIE学习笔记2(linux3.10.y) 一.PCI总线简单介绍 1.PCI总线配置 两类配置请求:Type00h配置请求,Type 01配置请求.Type 00h配置请求:访问与H ...

  9. linux2.6驱动学习笔记之字符驱动

    1.字符驱动组成 1.1字符驱动的模块加载与卸载 //设备结构体模板 struct xxx_dev_t { struct cdev cdev; ...... }xxx_dev; 在字符驱动模块加载函数 ...

最新文章

  1. 指定某行复制多次的方法
  2. python基础系列教程——python所有包库的下载
  3. REST、SOAP、protocolbuf、thrift、avro
  4. Java自定义JSlider UI
  5. RAC中参数文件的配置
  6. Clover_v2.3k版本合集 四叶草EFI文件、Pkg安装包
  7. [VC++]控制台程序窗口隐藏
  8. [STM32]WIN7 64位系统 CDC类 虚拟串口驱动无法安装的解决办法
  9. C与C++学习经典网站
  10. 微信小程序生成携带参数的小程序码
  11. 南传法句经(摘选)03
  12. [转载]Navicat12.1系列破解教程,Navicat12.1.16破解亲测有效!!
  13. WIN10桌面图标变成白文件的一种解决方法
  14. OpenCV——图像特征提取(颜色:HSV与形状)
  15. 小米电视是鸿蒙系统吗,搭载鸿蒙系统!华为正式发布荣耀智慧屏 小米电视迅速升级取消开机广告...
  16. 大疆工程师:如何利用6年时间成为一名优秀的机器人工程师
  17. python agg函数_个人对Pandas中agg、apply和transform函数的理解
  18. 解决UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa7 in position 85: illegal multibyte sequence
  19. IDEA初学者保存就格式化代码插件save actions
  20. 基于JAVA、Web的农产品销售管理系统(附源码视频资料数据库教程视频文档)

热门文章

  1. c++ 关于heap的STL用法
  2. 计算几何(证明三角形内心公式: aOA+bOB+cOC = 0)
  3. Java二维码的一些简介、功能
  4. SaaSpace:4种最佳硬盘恢复软件工具
  5. AntDesignVue表格中列的自定义隐藏与展示
  6. 使用SQL语句在表中插入date类型的数据
  7. javascript获取本周、本月、本季度、本年时间
  8. flowable 中文文档
  9. 基于随机森林的分类算法的matlab简单实现
  10. SAP FICO常用报表和事务码大全