摘要: 驱动开发向来是内核开发中工作量最多的一块,随着USB设备的普及,大量的USB设备的驱动开发也成为驱动开发者手头上做的最多的事情。本文主要介绍Linux平台下基于libusb的驱动开发,希望能够给从事Linux驱动开发的朋友带来些帮助,更希望能够给其他平台上的无驱设计带来些帮助。文章是我在工作中使用libusb的一些总结,难免有错误,如有不当的地方,还请指正。 Linux 平台上的usb驱动开发,主要有内核驱动的开发和基于libusb的无驱设计。对于内核驱动的大部分设备,诸如带usb接口的hid设备,linux本身已经自带了相关的驱动,我们只要操作设备文件便可以完成对设备大部分的操作,而另外一些 阅读全文
posted @ 2011-11-26 15:25 xidongs 阅读(3414) 评论(0) 推荐(0)
摘要: 在前面的文章中,我们已经给出了USB协议的链接地址,从这篇文章起,我们会涉及到许多USB 1.1的内容,我们的指导思想是先从熟悉USB 1.1协议入手,先使用现成的HCD和USBD,直接面对客户端驱动编程,尽快看到成果,使读者对USB的开发充满信心,进而去研究USBD和HCD的编程方法。请读者自行阅读协议,文章中有关协议的详细情况,由于会涉及非常多的文字,恕不能过多解释。1、USB系统主机端的软件结构一般来说,教科书或者协议上都会把USB主机端的软件说成有三层,第一层叫主机控制器驱动程序HCD(Host Controller Driver),第二层叫USB驱动程序USBD(USB Driver 阅读全文
posted @ 2011-11-26 13:59 xidongs 阅读(8043) 评论(0) 推荐(0)
摘要: 如有转载请注明来自http://blog.csdn.net/cy757大家可以使用压缩包中的UsbApp.exe调试本软件idVendor为:0483 idProduct为5750。今天太晚了,明天还要上半天班,上位机软件找个时间在写一篇文章。请关注我的博客。压缩包中附带了几个编译软件典型的上位机源代码,大家可以参考下。本文中源程序的下载网址为:http://download.csdn.net/source/2918553很久没写过文章了,趁今晚有空出来露一下。最近发现很多人对STM32的USB通信很感兴趣。要将USB的通信协议搞懂确实是一个比较漫长的过程。但是USB的HID通信无论是上位机. 阅读全文
posted @ 2011-11-26 13:06 xidongs 阅读(15221) 评论(0) 推荐(0)
摘要: //============================================================================// 文件名: USBDESC.C// 用 途: USB描述符// 作 者: shenfei5// 时 间: 2007.2.3// 版 本: V1.10//============================================================================ #include <RTL.h>#i... 阅读全文
posted @ 2011-11-26 13:01 xidongs 阅读(14688) 评论(0) 推荐(0)
摘要: 这是我在一个论坛上看到的方法,经过使用,非常有用。这个方法是windows 2008 r2上的,windows 7 一样有效。装了2008R2后第一次淘宝购物,发现金邦达的U盾7工行老版金邦达U盾安装解决方案" alt="" src="http://www.icbc.com.cn/icbc/html/wangyin/jinbangda.gif" width=53 height=23 real_src="http://www.icbc.com.cn/icbc/html/wangyin/jinbangda.gif"> 不能 阅读全文
posted @ 2011-11-17 15:46 xidongs 阅读(1134) 评论(0) 推荐(0)
摘要: 一、应用场合USB HID类是比较大的一个类,HID类设备属于人机交互操作的设备。用于控制计算机操作的一些方面,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球、电话拨号设备、VCR遥控等等设备。另外,使用HID设备的一个好处就是,操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。二、USB HID类可采用的通信管道所有的HID设备通过USB的控制管道(默认管道,即端点0)和中断管道与主机通信。表1、USB HID规范定义的HID设备可用 阅读全文
posted @ 2011-09-26 13:29 xidongs 阅读(41810) 评论(1) 推荐(1)
摘要: 使用GPRS首先需要打开串口,设置好串口的各项参数。一、AT+CMGL 读取所有短信A、读取所有的信息:第一步:at+cmgf=1 如果返回ok则继续。说明:AT+CMGF SELECT SMS MESSAGE FORMAT第二步:at+cmgl=”all”成功返回OK否则ERROR+CMGL: 1,"REC READ","+8613702936376",,"05/12/16,09:04:43+00"testOKB、读取未读的信息第一步:at+cmgf=1如果返回ok则继续。第二步:at+cmgl=” rec unread”成功返回O 阅读全文
posted @ 2011-08-13 22:57 xidongs 阅读(5157) 评论(0) 推荐(0)
摘要: AT+CFUN=1,1 //此命令可以开启simcom模块的大部分功能,一般在初始化模块的时候都要写上;AT&F //设置缺省制造商当前所有参数测试网络情况AT+CSQ //+CSQ: 28,0 返回信号强度,10以上就可以AT+CREG? //+CREG: 0,1 测试网络注册情况,第二个参数为1或5就可以AT+COPS? //+COPS: 0,0,"CHINA MOBILE" 测试运营商电话AT+CHFA=1 //0/1此命令用来切换两个音频通道AT+CLIP=1 //来电显示ATH //断开现有连接/挂断电话ATA //接听电话AT+VTS="dt& 阅读全文
posted @ 2011-08-13 22:55 xidongs 阅读(646) 评论(0) 推荐(0)
摘要: 名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。 其中的format可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '\t' 阅读全文
posted @ 2011-08-13 15:24 xidongs 阅读(910) 评论(0) 推荐(0)
摘要: 使用vs2010编译出来的EXE应用程序在别的机子上运行时会提示找不到MSVCR100.dll,这该怎么解决呢?一、在运行程序的计算机上安装vc2010运行库(很好的办法呀)说明:这种方法需要用户自己去安装,一般适用于大型程序,小程序不建议使用。二、在应用程序同目录上附带MSVCR100.DLL文件说明:这种方法适用于一些小项目,无需用户另外安装程序。点我下载msvcr100.dll三、在程序编译前配置VS2010项目->属性->配置属性->C/C++-代码生成->运行库->多线程 (/MT)说明:这种方法应该对于一些程序来说最实用,仅需一个程序,放到哪都可以运行 阅读全文
posted @ 2011-06-12 11:02 xidongs 阅读(1900) 评论(0) 推荐(0)