驱动
文章平均质量分 62
驱动相关知识与问题。
草丛中的蝈蝈
这个作者很懒,什么都没留下…
展开
-
ASIO音频驱动开发指南 2.0
代码大体改编自SDK中的sample,但根据我收到的读者反馈,SDK中的sample有几个很不好的地方。第二是竟然用把数字打印到屏幕上的方式来模拟音频输出,要知道大部分读者是没有耐心的,可能还急眼啦,他们需要的,是能够直接听到声音!如声道0的采样类型为32位,当音频文件格式为16位采样深度时,需将文件中的每个采样转换为32位后再拷贝到声道0的缓冲中。转换算法算不上复杂,但如果弄错了,就会听到噪音。另外一个要点是,回调函数的调用是不被音频软件控制的,它们的运行环境不可知,可能在主线程中,也可能在辅助线程中。.转载 2022-08-29 11:44:33 · 1725 阅读 · 0 评论 -
ASIO音频驱动开发指南
音频驱动开发是个相对窄小的技术范畴,因为生产厂家的相对集中和垄断,导致这个市场不是很火热。国内做过ASIO音频驱动的,更是少得可怜。我从百度上搜索ASIO关键字,得到的资料几乎都是同一份粗犷简介的拷贝,不仅笼统,而且简直浪费:无休止的复制是一种浪费,哪怕是在网络上。我不得不寻找更多的资料,可发布这个规范的厂商,德国的S转载 2022-08-25 15:30:09 · 1712 阅读 · 1 评论 -
can数据帧和远程帧格式区别
原创 2021-03-18 17:04:05 · 3516 阅读 · 0 评论 -
USB:USB通信中的端点(endpoint)和四种传输模式
原文链接:添加链接描述USB的传输模式有4种,分别是控制传输(Control Transfer)、中断传输(Interrupt Transfer)、批量传输或叫块传输(Bulk Transfer)、实时传输或叫同步传输(Isochronous Transfer)。每种传输方式都有其特点,其特点如下:端点(endpoint)端点位于USB 外设内部,所有通信数据的来源或目的都基于这些端点,是一个可寻址的FIFO。每个USB 外设有一个唯一的地址,可能包含最多十六个端点。主机通过发出器件地址和每次数据传转载 2021-03-17 09:58:28 · 1087 阅读 · 0 评论 -
USB协议
原文链接:添加链接描述USB协议详解技术标签: USB协议一个transfer(传输)由一个或多个transaction(事务)构成,一个transaction(事务)由一个或多个packet(包)构成,一个packet(包)由一个或多个sync(域)构成。1.传输数据通信USB的数据通讯首先是基于传输(transfer)的,传输的类型有:中断传输、批量传输、同步传输、控制传输。2.事务数据通讯一次传输由一个或多个事务(transaction)构成,事务可以分为:in事务、out事务、setu转载 2021-03-03 15:49:13 · 368 阅读 · 1 评论 -
usb setup 数据结构解释 非常好理解
原文链接:添加链接描述电路(38)在USB通讯里,从主控器发出来的第一个配置包就是设备描述符配置包,目的只有一个,就是获取插入的USB属性,以便加载合适的驱动程序。现在就来详细地分析一下设备描述符包的定义。在USB2.0的协议里找到9.3 USB Device Requests里就找到这个结构的定义,这里我使用C的定义结构如下:typedef struct _USB_SETUP_PACKET{REQUEST_TYPE bmRequestType;BYTE bRequest;W转载 2021-03-03 11:56:55 · 1146 阅读 · 0 评论 -
win10下使用usblib时报错“libcmtd.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已经在 MSVCRTD.lib(MSVC”
问题:完整的错误如下:1> 所有输出均为最新。1>libcmtd.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已经在 MSVCRTD.lib(MSVCR100D.dll) 中定义1>libcmtd.lib(crt0dat.obj) : error LNK2005: _exit 已经在 MSVCRTD.lib(MSVCR100D.dll) 中定义1>libcmtd.lib(crt0dat.obj) : error原创 2021-02-08 15:14:55 · 316 阅读 · 0 评论 -
关于libusb,libusbx,libusbK,libusb-win32,WinUSB的关系
原文链接:添加链接描述刚开始接触USB驱动编程,一般是利用现成的库来做,但是网上一搜索,发现一大堆各种各样的lib把人搞的很头疼,这边总结一下。== libusb ==说明:libusb是一个跨平台的usb驱动框架。libusb原始项目在2010年后基本没有更新,曾有libusbx项目2012年从libusb分出来,2014年1月26日又合并回libusb了。当时的libusbx-1.0.18和libusb-1.0.18其实完全一样,相当于libusbx替换了libusb的代码!后续的版本其实都是基于转载 2021-02-07 19:48:44 · 1362 阅读 · 0 评论 -
电脑上没有实体串口的情况下如何调试串口程序?
问题:现在很多新的电脑有没有串口了,如果电脑上没有串口,同时手上也没有USB-串口转化器,调试串口程序会很不方便。解决方案:安装软件“virtual serial port driver”(简称VSPD) ,启动后可以创建虚拟的COM1和COM2,并且将COM1和COM2互联,可以正常调试程序。...原创 2021-01-05 18:30:45 · 1922 阅读 · 0 评论 -
如何在VC下使用USB-CAN II接口卡操作CAN通信
广州致远电子的USB-CAN II接口卡是比较普遍的CAN采集,测试工具,在进行有关CAN的开发中经常用使用到此设备。然而如何在VC中调用此设备提供的API呢?其实很简单,有关它的API介绍及使用手册在http://www.embedcontrol.com/products/PCI/USBCAN.asp 这个网址可以找到,这里只介绍它的使用示例。1 连接USB-CAN II设备示例代码如下:void Ctbox_CarSimulatorDlg::OnBnClickedBtConnect(){//转载 2020-12-29 20:26:43 · 842 阅读 · 0 评论