/*声明:本文是博主个人学习笔记,有不当之处敬请指正,不胜感激!*/
>>设备接口的初始化(寻找相关设备)
/*本节函数是按照实际使用次序整理,有些函数必须在指定的次序下调用,有些函数可选调用,有些函数需要嵌套循环调用*/
1、usb_init
原型:void usb_init(void);
功能:配置usb接口,使其能够正常使用。
说明:使用usb接口,第一步就要调用这个函数,不能缺省。
2、usb_find_busses
原型:int usb_find_busses(void);
功能:查找usb总线(总线就像高速公路,将计算机各个单元连接在一起,提供信息的传送通道)。
返回值:返回自上次调用本函数后改变的总线数(包括新增和移除的总线)。
说明:如果连续调用本函数,第二次调用的返回值一般为0(因为两次连续调用之间的总线数一般不变)。
注:总线数就是计算机内总线的根数(分为数据总线和地址总线),比如地址总线有8根(实际远不止8根),那么可可以访问的地址编号就是从0000 0000~1111 1111共2^8=256个地址编号。
3、usb_find_devices
原型:int usb_find_devices(void);
功能:查找总线上的usb设备(就像寻找高速路所连接的某一指定类型的城市)。
返回值:返回自上次调用本函数后改变的usb设备数(包括新增和移除的usb设备)。
说明:如果连续调用本函数,第二次调用的返回值一般为0(因为两次连续调用之间的usb设备数一般不变)。
>>注:以上三个函数都是使用usb通信编程一开始就应调用的函数,不能缺省,不能改变调用顺序。
4、usb_get_busses
原型:struct usb_bus *usb_get_busses(void);
功能:返回总线的列表(就像列出一份高速公路的花名册)。
说明:本函数不是必须的,是否调用要视usb标准的版本而定。
>>设备接口的操作
1、usb_open
原型:usb_dev_handle *usb_open(struct *usb_device dev);
功能:打开要使用的设备(linux下一切皆文件),在使用文件前一定要打开它(就像windows下要编辑或浏览一个文档,首先要打开这个文档一样)。