求助,关于linux usb驱动程序下usb通信的c语言程序

linux下USB通信程序,最全面的linux下USB通信程序文章 - 电子工程世界网
linux下USB通信程序
在电子工程世界为您找到如下关于“linux下USB通信程序”的新闻
linux下USB通信程序资料下载
9.3.1 ARM汇编语言程序结构
9.3.2 ARM汇编语言的语句格式
9.3.3 基于Windows下ADS的汇编语言程序结构
9.3.4 基于Linux下GCC的汇编语言程序结构
9.4 ARM汇编语言程序调试
9.4.1 ADS软件模拟环境下的程序调试
9.4.2 ADS硬件仿真器环境下的程序调试
9.4.3 ADS Wiggler调试...
linux下USB通信程序,可以实现主机和开发板USB通信...
、DRIVER STUDIO软件的安装
4、上位机驱动sys、inf文件生成概述
5、上位机应用程序的实现
(1)、工程的建立
(2)、代码编写及分析
(3)、对应应用程序编写下位机程序实现USB通信
第三章 ucos讲解(145分钟)(第六讲)
一、uC/OS-II的简单应用
1、uC/OS-II简介
(1)、MAIN函数的结构
(2)、任务的结构
(3)、重要uC...
。采用USB接口的WiFi模块作为无线网卡。采用FPGA模块做信息加密处理。软件部分采用嵌入式Linux系统作为操作系统,采用基于Qt的嵌入式Konqueror浏览器作为应用程序。采用移动IPv6技术支持终端的移动性。 本文阐述了移动终端软件部分从底层到顶层的实现。包括了引导加载程序移植,Linux内核的移植,NOR Flash驱动移植,网卡驱动移植,无线网卡驱动移植,LCD驱动的移植,触摸屏驱动的...
可独立工作的“器件”。在视频监控上的嵌入式应用将是视频监控领域的一个重要发展方向。 论文首先阐述了嵌入式网络视频监控系统的发展、现状以及整体构建,然后介绍了嵌入式Linux操作系统以及ARM处理器的发展情况,分析了主要外围电路的设计,以及如何在ARM硬件平台上进行嵌入式Linux内核的编译与移植,介绍了Bootloader的启动原理及运行过程,并对在Linux操作系统下的USB驱动程序的开发进行了...
摘要: 文中给出了一个基于i.MX21 ARM9微处理器的USB摄像头图象采集和CDMA模块的无线图象传输系统的软件设计方案.利用Linux下的V4L提供的API以及双缓冲机制采集数据,再用经典的JPEG标准算法压缩图象;然后采用PPP拨号程序和CDMA模块上网,通过socket通信方式与服务器建立连接,采用在客户端数据分片的思想无线传送图象到中心.此方案的可扩展性和可移植性强....
linux下USB通信程序相关帖子
,基本上已经具备了学习嵌入式开发的基础。在嵌入式基本功学习阶段,最重要的是C语言和单片机基础,最好是能用C语言开发一个小的单片机程序,例如用C语言实现单片机和PC的串口通信,用C语言控制LED等显示,用C语言控制数码管显示等小程序。在这个期间需要的学习工具就是单片机51学习开发板。二、嵌入式Linux应用开发 嵌入式开发基础知识学习完后,这时候你已经有了一定的嵌入式开发基础了,可以进行基于单片机的...
第七部分:LINUX驱动开发
驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。本课程介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动开发的关键技术点,重点讲解嵌入式Linux下常用接口驱动的编写方法,包括
1、字符型LED驱动开发(GPIO口驱动)
2、按键驱动开发(中断驱动,在驱动中中断程序的编写,消息队列的应用
3、ADC驱动开发
4、网卡...
1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节点...
&&板卡大伙儿也不晓得长什么样子,我就百度下,分享给大伙
1& && &&&简介C2000 DelfinoLaunchPad(LAUNCHXL-F28377S)是一款基于TI最新Delfino器件TMS320F28377S的低成本开发套件,板载XDS100v2仿真器,只需一根USB线就可以进行开发、调试和代码烧...
先吹吹TUN/TAP
其实是一个虚拟的网络设备
玩过Linux的筒子应该知道
Linux有个很好玩的梗
USB设备可以虚拟成一个网络设备
KW41z的Thread中
有Framework Serial Connectivity Interface (FSCI)和Thread Host Control Interface (THCI)
字面上大概意思就是整一个串行...
:Linux基础
Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。
三:Linux系统编程
重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等...
系统开发学习步骤:
一:嵌入式c语言
C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。
二:Linux基础
Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具...
布线,从HDL源文件综合生成一个适合目标器件的网表,生成FPGA配置文件(.sof)。
(4)使用Quartus II编程器和Altera下载电缆(如USB Blaster),将配置文件(用户定制的Nios II处理器系统的硬件设计)下载到目标板上。当校验完当前硬件设计后,可将新的配置文件下载到目标板上的非易失存储器里(如EPCS器件)。下载完硬件配置文件后,软件开发者就可以将此目标板作为软件开发...
主要是为了了解微型计算机的硬件工作原理,明白CPU、总线、I/O、存储器等一些关键结构是怎么工作的,虽然是很枯燥的知识,但是对熟悉外围设备硬件工作方式,及操作系统,软件架构的设计及优化相当关键。
2. 操作系统
嵌入式产品应用比较广泛的是Linux和WinCE。但操作系统的内部设计原理都是殊途同归。首先要去学习的是操作系统原理,去了解进程通信、内存管理、文件系统等几个重要的部分,因为...
前段时间问了一下米国的朋友
据说谷歌的Project Soli对应的平台,发放了一些样品给少数开发者内测
很期待2017年能够面世,哪怕是测试也好
希望不要流产
个人觉得,这是继苹果干掉实体键盘以来
最有可能前进的交互方向
呃......,这个算无线技术吗?
一直想搞个用单片机或者ARM linux的web服务器,通过网页来控制板子的状态,,我感觉wifi是最方便的,不像蓝牙,蓝牙...
linux下USB通信程序视频
你可能感兴趣的标签
热门资源推荐Linux下用USB传输文件到开发板_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Linux下用USB传输文件到开发板
来源:.cn/mobile&
作者:acestrong
记录一下解决EZ6410的板子在Linux下用USB来传输文件问题的过程~
前两天ARM11的开发板到了,需要先验证一下各项功能。以往用FS2410时用的是minicom+usb2ram,功能比windows下的dnw更强,因为minicom支持彩色显示,不会像dnw一样出现很多乱码,这一点上超级终端做的也不错,可惜不能支持USB传输,加上我们用的是Linux嵌入式系统,平时开发都在下进行,当然选择minicom+usb2ram了~
不过这次出问题了,usb2ram不支持EZ6410板子的USB传输,这让我很郁闷!查看usb2ram的源代码,发现里面主要有四个地方和具体的板子相关,分别是vendorID,productID,ram_base和EndPoint地址。问题随之变为如何查看EZ6410开发板上这些参数的具体值了。ram_base很简单,使用手册里就有,0x。其他三个上网搜了一下,发现用lsusb可以列出来前两个,分别为0x04e8和0x1234,至于EndPoint地址本来为0x03,我试着改为0x02就可以了~
编译通过后,可以配合minicom使用了,不过速度还是偏慢,尤其是和Windows下的DNW对比,慢得和蜗牛一样!于是我又上网搜Linux下和DNW相似的USB传输程序,还真让我发现了一个,叫做dnw2。
很简单,就一个c文件,打开看源代码,是支持QQ2440的,结构比usb2ram更加清晰简单,要改的就三个地方,vendorID,productID和ram_base,不需要EndPoint了,更确切的说是已经固定为0x02了~我把三个宏定义设置好,编译通过后试了一下,可以支持,并且速度明显比usb2ram快了很多,和Windows下的DNW没有直接对比,还不好说,不过估计也差不多了~
有了dnw2,估计以后就不需要usb2ram了,毕竟速度上差了很多,没有人会喜欢慢的东西嘛~
ps,dnw2.c的源代码
C语言: Linux下通过USB传输文件到RAM中用的dnw2
/* dnw2 linux main file. This depends on libusb.** You should use lsusb to find out the actual vender ID & product ID of board.** Author:&&&& Fox &&*&&&&&&&&&&&& Ace Strong &&* License:&&& GPL**/#include &stdio.h&#include &usb.h&#include &errno.h&#include &sys/stat.h&#include &fcntl.h&#include &unistd.h&#define QQ2440_VENDOR_ID&&&&&&& 0x5345#define QQ2440_PRODUCT_ID&&&&&& 0x1234#define FS2410_VENDOR_ID&&&&&&& 0x5345#define FS2410_PRODUCT_ID&&&&&& 0x1234#define EZ6410_VENDOR_ID&&&&&&& 0x04e8#define EZ6410_PRODUCT_ID&&&&&& 0x1234#define EZ6410_RAM_BASE&&&&&&&& 0x#define FS2410_RAM_BASE&&&&&&&& 0x/*// FS2410#define RAM_BASE&&&&&&&&&&& FS2410_RAM_BASE#define VENDOR_ID&&&&&&&&&& FS2410_VENDOR_ID#define PRODUCT_ID&&&&&&&&& FS2410_PRODUCT_ID*/// EZ6410#define RAM_BASE&&&&&&&&&&& EZ6410_RAM_BASE#define VENDOR_ID&&&&&&&&&& EZ6410_VENDOR_ID#define PRODUCT_ID&&&&&&&&& EZ6410_PRODUCT_IDstruct usb_dev_handle * open_port(){&&& struct usb_bus *busses, *bus;&&& usb_init();&&& usb_find_busses();&&& usb_find_devices();&&& busses = usb_get_busses();&&& for(bus=busses;bus;bus=bus-&next)&&& {&&&&&&& struct usb_device *dev;&&&&&&& for(dev=bus-&devices;dev;dev=dev-&next)&&&&&&& {&&&&&&&&&&& if( VENDOR_ID==dev-&descriptor.idVendor&&&&&&&&&&& &&& PRODUCT_ID==dev-&descriptor.idProduct)&&&&&&&&&&& {&&&&&&&&&&&&&&& printf("Target usb device found!\n");&&&&&&&&&&&&&&& struct usb_dev_handle *hdev = usb_open(dev);&&&&&&&&&&&&&&& if(!hdev)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& perror("Cannot open device");&& &&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& else&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& if(0!=usb_claim_interface(hdev, 0))&&&&&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&& perror("Cannot claim interface");&&&&&&&&&&&&&&&&&&&&&&& usb_close(hdev);&&&&&&&&&&&&&&&&&&&&&&& hdev = NULL;&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& return hdev;&&&&&&&&&&& }&&&&&&& }&&& }&& &&& printf("Target usb device not found!\n");&&& return NULL;}void usage(){&&& printf("Usage: dnw2 &file&\n\n");}unsigned char* prepare_write_buf(char *filename, unsigned int *len){&&& unsigned char *write_buf = NULL;&&& struct stat fs;&&& int fd = open(filename, O_RDONLY);&&& if(-1==fd)&&& {&&&&&&& perror("Cannot open file");&&&&&&& return NULL;&&& }&&& if(-1==fstat(fd, &fs))&&& {&&&&&&& perror("Cannot get file size");&&&&&&& goto error;&&& }&&& write_buf = (unsigned char*)malloc(fs.st_size+10);&&& if(NULL==write_buf)&&& {&&&&&&& perror("malloc failed");&&&&&&& goto error;&&& }&&& if(fs.st_size != read(fd, write_buf+8, fs.st_size))&&& {&&&&&&& perror("Reading file failed");&&&&&&& goto error;&&& }&&& printf("Filename : %s\n", filename);&&& printf("Filesize : %d bytes\n", fs.st_size);&&& *((u_int32_t*)write_buf) = RAM_BASE;&&&&&&& //download address&&& *((u_int32_t*)write_buf+1) = fs.st_size + 10;&&& //&&& *len = fs.st_size + 10;&&& return write_buf;error:&&& if(fd!=-1) close(fd);&&& if(NULL!=write_buf) free(write_buf);&&& fs.st_size = 0;&&& return NULL;&& }int main(int argc, char *argv[]){&&& if(2!=argc)&&& {&&&&&&& usage();&&&&&&& return 1;&&& }&&& struct usb_dev_handle *hdev = open_port();&&& if(!hdev)&&& {&&&&&&& return 1;&&& }&&& unsigned int len = 0;&&& unsigned char* write_buf = prepare_write_buf(argv[1], &len);&&& if(NULL==write_buf) return 1;&&& unsigned int remain = len;&&& unsigned int towrite;&&& printf("Writing data ...\n");&&& while(remain)&&& {&&&&&&& towrite = remain&512 ? 512 : remain;&&&&&&& if(towrite != usb_bulk_write(hdev, 0x02, write_buf+(len-remain), towrite, 3000))&&&&&&& {&&&&&&&&&&& perror("usb_bulk_write failed");&&&&&&&&&&& break;&&&&&&& }&&&&&&& remain-=towrite;&&&&&&& printf("\r%d%\t %d bytes&&&& ", (len-remain)*100/len, len-remain);&&&&&&& fflush(stdout);&&& }&&& if(0==remain) printf("Done!\n");&&& return 0;}
相关资讯 & & &
& (05/28/:04)
& (05/27/:01)
& (05/27/:12)
& (05/27/:03)
& (05/27/:50)
& (05/27/:27)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Linux系统下编译usb-skeleton.c的问题~会的朋友请指教。急急急。-红联Linux系统门户
您的位置:
&& 查看内容 - - -
Linux系统下编译usb-skeleton.c的问题~会的朋友请指教。急急急。
peakailcf发布于
&&字号: &&&&(网友评论&5&条)&
最近在学习编写关于基于linux的两台服务器之间的usb通信的程序!
学长指教只需要完成对于linux下的usb驱动程序的分析,然后再添加一个接收信息和反馈信息的函数就可以了。。
主要就是对于usb-skeleton.c的应用。。但是按照网上()指点,依照要求做了之后,在make的时候发现很多问题,没法通过。。不晓得怎么回事。哪位高手指点下。。或者指教下是否有其他方法完成linux服务器间的usb接口通讯的实现的。。急急急。。
但是编译之后出现很多问题。。请高手指教。
[root@localhost usb]# make
make -C /lib/modules/2.6.18-8.el5/build M=/root/usb modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.el5-i686'
/root/usb/usb.o
/root/usb/usb.c:32: 警告:大整数隐式截断为无符号类型
/root/usb/usb.c:32: 警告:大整数隐式截断为无符号类型
/root/usb/usb.c:54: 错误:字段 ‘submitted’ 的类型不完全
/root/usb/usb.c: 在函数 ‘skel_open’ 中:
/root/usb/usb.c:110: 错误:隐式声明函数 ‘usb_autopm_get_interface’
/root/usb/usb.c: 在函数 ‘skel_release’ 中:
/root/usb/usb.c:145: 错误:隐式声明函数 ‘usb_autopm_put_interface’
/root/usb/usb.c: 在函数 ‘skel_write’ 中:
/root/usb/usb.c:296: 警告:传递参数 6 (属于 ‘usb_fill_bulk_urb’)时在不兼容的指针类型间转换
/root/usb/usb.c:298: 错误:隐式声明函数 ‘usb_anchor_urb’
/root/usb/usb.c:315: 错误:隐式声明函数 ‘usb_unanchor_urb’
/root/usb/usb.c: 在函数 ‘skel_probe’ 中:
/root/usb/usb.c:365: 错误:隐式声明函数 ‘init_usb_anchor’
/root/usb/usb.c:377: 错误:隐式声明函数 ‘usb_endpoint_is_bulk_in’
/root/usb/usb.c:390: 错误:隐式声明函数 ‘usb_endpoint_is_bulk_out’
/root/usb/usb.c: 在函数 ‘skel_disconnect’ 中:
/root/usb/usb.c:439: 错误:隐式声明函数 ‘usb_kill_anchored_urbs’
/root/usb/usb.c: 在函数 ‘skel_draw_down’ 中:
/root/usb/usb.c:451: 错误:隐式声明函数 ‘usb_wait_anchor_empty_timeout’
/root/usb/usb.c: 在顶层:
/root/usb/usb.c:498: 警告:从不兼容的指针类型初始化
/root/usb/usb.c:499: 警告:从不兼容的指针类型初始化
/root/usb/usb.c:501: 错误:初始值设定项里有未知的字段 ‘supports_autosuspend’
/root/usb/usb.c:501: 警告:初始值设定周围缺少花括号
/root/usb/usb.c:501: 警告:(在 ‘skel_driver.dynids’ 的初始化附近)
make[2]: *** [/root/usb/usb.o] 错误 1
make[1]: *** [_module_/root/usb] 错误 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.el5-i686'
make: *** [default] 错误 2
作者: peakailcf&发布日期:
这个东西在研究很急,如果哪位师兄知道的话请指导下,谢谢了。~~
作者: jiehe&发布日期:
这个东西,太深奥。
作者: peakailcf&发布日期:
呃,哪位师兄知道的指导下。谢谢了。。非常感谢!~~
作者: 辛昕&发布日期:
源代码哪里找的?
网上看了好多人都有这问题,你在自己的系统里找到这个源代码,然后编译。应该能通过。
作者: lostnarr&发布日期:
楼主的分享非常不错哦!!支持持续更新!!
共有评论数 5/每页显示数 10
发表评论,与各位同人交流。回复请点击下方的我要评论按钮(游客可回复),要发表贴子请点击
Linux教程下载?“”(请点击),Linux教程免费下载。
求助Linux问题?论坛有39版块,覆盖所有Linux技术层面。前往“”
 |  |  |  |  |  |  |  |  |  |  |  | 
&2017 红联 Powered by SupSiteLinux下基于python的USB通信程序开发_文库下载
1亿文档 免费下载
当前位置: &
& Linux下基于python的USB通信程序开发
Linux下基于python的USB通信程序开发
Linux下基于python的USB通信程序开发
计算机光盘软件与应用
软件设计开发
Computer CD Software and Applications
2010年第11期
Linux下基于python的USB通信程序开发
(上海工程技术大学机械工程学院,上海
要:Linux操作系统通过libusb库完成各种和USB设备的通信,但其开发过程过于繁杂,以python语法简洁的特
性调用libusb,可以极大减少对USB设备通信开发难度且无须编写特殊驱动。以CY7C68013芯片为例,在Linux下通过python调用libusb对Cypress Fx2LP系列芯片通信方法,并介绍了上传数据到芯片内RAM具体应用的方法。
关键词:Linux;USB设备通信;libusb;python;CY7C68013芯片
中图分类号:TP311.52
文献标识码:A
文章编号: (2010) 11-0162-01
The Development of USB Communication Program Base on Python under Linux
(College of Mechanical Engineering,Shanghai University of Engineering Science,Shanghai
201620,China)
Abstract:Linux operating system through the libusb library to complete a variety of USB communications,but the
development process is too complicated,to call python syntax features simple libusb,USB devices can greatly reduce the difficulty of communication and the development of special drive without having to write.The CY7C68013 chip,for example,through the python call in the Linux libusb on Cypress Fx2LP series chip communication methods,and introduced the upload data to the RAM chip application-specific methods
Keywords:LUSB CCY7C68013 chip
Python语言是一种面向对象、内置高级数据结构、语法简洁
严谨、可读性高、易于扩展的解释型脚本语言。 handle = dev.open() #打开设备
libusb是Linux操作系统的硬件支持库,主要负责操作系统(二)控制传输模式
与USB设备进行通信,使得开发者简化系统底层的依赖和减少重usb模块中的DeviceHandle类中包含controlMsg这一函数,复编程,开发的强度下降、大大缩短开发周期。 为偏移量、数据长度赋值或者填充缓冲数据后直接调用即可。
Fx2LP系列芯片是Cypress公司推出的USB2.0集成微处理芯1.导出RAM函数
片,USB收发器、增强型8051单片机及一个16KB片上RAM、一个因返回的data值类型为元组,如需将数据传输至Linux终端4KB FIFO存储器和一个通用可编程接口(GPIF)外部接口封装于(tty),则需要调用print函数。
单一芯片中且使用USB接口进行数据交换,外围固件的开发简化。 def dump_ram(offset,lenth):
Python中的usb模块用C语言格式封装了libusb函数接口,data=handle.controlMsg(requestType=0xc0,鉴于Python开发上的高效性和Fx2LP系列芯片外围固件简单的特request=0xa0,value=offset,index=0x00,buffer=lenth,性,利用Python开发基于libusb的Fx2LP系列芯片的通信程序,timeout=100)
print data
可以缩短开发周期。 2.写入RAM函数
一、实现原理和背景 填充缓冲的程序原始数据后,调用函数就可直接向此偏移量
(一)Linux下的USB系统体系结构简介 下的RAM上传数据。具体函数如下:
USB是一种分层总线结构,USB设备和主机之间的信号传输通def write_ram(offset,buf):
过USB控制器实现。 handle.controlMsg(requestType=0x40,request=0xa0,
Linux操作系统是通过libusb来完成各种与USB设备之间的value=offset,index=0x00,buffer=buf,timeout=100) 信号传输,libusb向用户提供应用程序接口(API)控制各种USB3.批量传输模式
信号传输,包括四种数据传输类型:控制传输,等时传输,中断usb模块中的DeviceHandle类已经提供了bulkRead、bulkWrite传输,数据块传输四大类接口;两种传输模式:同步传输模式,函数,使用时调用即可,由于设备重枚举后,大部分PID或VID发异步传输模式。其中控制传输采用特定的方式使用控制数据来对生了变化,需要通过程序重新寻找并设定的新设备的PID和VID,设备进行设置,数据传输是无损性的。 然后使用 configurations类获得此设备的配置信息和端点信息,
(二)Fx2LP系列USB接口简介 进行进一步的设定。导出和写入批量传输程序如下:
通过Cypress公司提供特定的USB控制指令,Fx2LP内核能def bulk(dendp,lenthl,wendp,buf): #*endp为端点号够直接编辑内16KB RAM和内部512字节便笺式RAM的数据内容,实数 #初始化USB配置
使用此类指令进行程序的数据上传与下载。 handle.detachKernelDriver(0) #获得Linux底层的设备控制权
(三)基于Python的USB通信 if dendp !=””: #为导出模式时
使用Linux-python组件中的usb模块,该模块以ctype格式 data=handle.bulkRead(dendp,lenthl,100) 调用libusb库中的动态接口链接函数,并提供了python化的接if wendp !=””: #为写入模式时
口。通过import指令调用此模块完成与libusb接口的通信从而
handle.bulkWrite(wendp,buf,1000)
到达与USB设备通信的目的。usb模块文件位于 四、结束会话
/usr/lib/pymodules/python2.6/usb.so。 对设备的各种操作完成后,应释放资源和结束会话,具体程
二、程序实现 序如下:
(一)搜索芯片并加载 handle.releaseInterface() #释放接口
加载usb模块后,python已可访问所有USB设备,所以需要dev.close() #关闭设备
程序通信目标设备加载至python的函数对象中。具体程序如下: python对动态链接库的调用简洁高效,usb模块省去了重复
#初始化函数及模块
import usb 开发USB驱动的时间,而且python的跨平台特性使得程序能适应#加载CY7C68013 VID、PID
各种平台环境。
vendor_id=0x04b4
product_id=0x8613
参考文献:
#搜索并加载
busses = usb.busses()
[1]杨伟,刘强,顾新.Linux下USB设备驱动研究与开发[J].计算机工dev = && #强制指定dev的类型为字符
程,2006,32
for bus in busses: #历遍所有USB组 [2]钱峰.EZ-USB FX2单片机原理、编程及应用[M].北京:北京航天
devices = bus.devices
航空大学出版社,2006
for d in devices: #历遍所有此组上的设备
if d.idVendor==vendor_id and d.idProduct==prod uc 作者简介
dev = d 蒙卓(1988.12-),广西桂平人,汉族,在读学士,上海工程技术 #若VID、PID均符合将此设备交dev供以后调用 大学机械工程学院机械自动化专业
Word文档免费下载:(下载1-2页,共2页)
主机利 用一个内核模块或驱动程序来与 USB 设备通信,而 USB 设备则通过其自身... Linux下基于python的USB... 2页 免费 基于Linux的主机间USB通... 暂无评价...嵌入式Linux下USB驱动程序开发研究_信息与通信_工程科技_专业资料。嵌入式Linux下USB驱动程序开发研究第28 卷 7 期 武汉理工大学学报 ? 第 信息与管理工程版 ...嵌入式Linux下USB摄像头驱动程序的开发_信息与通信_工程科技_专业资料。嵌入式Linux初级实验s3c2410今日推荐 160份文档 2014年各行业从业资格考试...最后通过 mini2440 开发板实现了 USB 接口与 GPIB 接口之间的通信。 关键词: 嵌入式 Linux,S3C2440,驱动程序,USB GPIB I ABSTRACT ABSTRACT With the development...python socket通信程序编写步骤_计算机软件及应用_IT/计算机_专业资料。python的... socket的通信过程 9页 免费 Socket 通信 9页 免费 Linux下基于python的USB.....基于Linux的蓝牙无线模块USB驱动程序的开发_信息与通信_工程科技_专业资料。基于Linux的蓝牙无线模块USB驱动程序的开发第22卷第1期V01.22No.1 重庆工学院学报(...基于Linux的USB主机设备驱动程序的开发基于Linux的USB主机设备驱动程序的开发隐藏&& 摘 要 开发 L inux下的设备驱动程序是一项比较繁琐的工作 。从具体的 USB ...2.1USB 接口简介 USB驱动程序分为USB主机端驱动程序和USB设备端驱 动程序 ,本文重点分析USB主机端驱动程序的开发过程。linuxUSB 主机驱动程序可以同时支持多路 USB...怎样写linux下的USB设备驱动程序(加精)_信息与通信_工程科技_专业资料。怎样写...USB 设备驱动,为更好地配置和 使用 USB 设备提供方便;对于希望开发 Linux 系统...}

我要回帖

更多关于 linux c语言小程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信