usb接口

day10_接口丶多态

折月煮酒 提交于 2020-01-16 02:09:51
接口 概述 接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。引用数据类型:数组,类,接口。接口的使用,它不能创建对象,但是可以被实现( implements ,类似于被继承)。一个实现接口的类(可以看做是接口的子类),需要实现接口中所有的抽象方法,创建该类对象,就可以调用方法了,否则它必须是一个抽象类。 接口就是多个类的公共规范。 定义接口 根据JDK版本的不同,接口中可以定义的内容也不同。现在的接口中可以定义下列内容 格式: public interface 接口名称 {    //常量   // 抽象方法   // 默认方法   // 静态方法   // 私有方法 } 任何版本中,接口可以包含的内容有: 常量 抽象方法 定义常量 接口当中也可以定义“成员变量”,但是必须使用public static final三个关键字进行修饰。从效果上看,这其实就是接口的【常量】。 格式: public static final 数据类型 常量名称 = 数据值;

usb sys节点命令规则

Deadly 提交于 2020-01-15 17:10:36
http://www.linux-usb.org/FAQ.html 主要翻译这个文档 # ls /sys/bus/usb/devices/ 1-0:1.0 1-1.3 1-1.3.1:1.0 1-1:1.0 1-1 1-1.3.1 1-1.3:1.0 usb1 以“ usb”开头的名称是指USB控制器。更准确地说,它们是指与每个控制器关联的“根集线器”。该编号是USB总线编号。在该示例中,只有一个控制器,因此其总线为1号。因此,名称为“ usb1”。 “ 1-0:1.0”是一种特殊情况。它指的是根集线器的接口。就像实际集线器中的界面几乎在所有方面一样;见下文。 所有其他条目均指正版USB设备及其接口。设备通过以下方案命名: bus-port.port.port ... 换句话说,名称以总线号开头,后跟“-”。然后是沿着设备路径的每个中间集线器的端口号序列。 例如,“ 1-1”是插入总线1端口1的设备。它恰好是一个集线器,而“ 1-1.3”是插入该集线器端口3的设备。该设备是另一个集线器,“ 1-1.3.1”是插入其端口1的设备。 接口由具有以下形式的后缀表示: :config.interface 即,“:”后跟配置号,后跟“。”。然后是接口号。在上面的示例中,每个设备都使用配置1,并且该配置只有一个接口,编号为0。 1-1:1.0 1-1.3:1.0 1-1.3.1:1.0

usb转串口 TTL 232电平

淺唱寂寞╮ 提交于 2020-01-14 20:14:51
TTL电平:一般用作数字芯片的电平(单片机大多是TTL电平,只是不同的电压标准) 232电平:232电平特制电脑串口的电平 USB :除去屏蔽层,有4根线,分别是VCC、GND和D+、D-两根信号线。5V是USB的电源电压,给USB device供电用的。信号线对于2.0, D+比D-大200mV时为1,D-比D+大200mV时为0,属 差分信号 ,与 TTL电平 不兼容,信号传输时需要电平转换电路。 我们所说的USB转串口,实际上是上两种,一种是USB转232串口,一种是USB转TTL串口。 由于单片机串口是TTL电平, 要和电脑串口(或者USB转串口线)通信, 就需要使得他两的电平逻辑一样才可以通信。 这时候,就需要用到转换TTL--232电平的芯片, 常用的有MAX232、MAX3232、SP232、SP3232等。MAX232芯片是TTL电平与RS232电平的专用双向转换芯片,不同引脚实现TTL转RS-232或RS-232转TTL的功能。 连接方式为:单片机串口—232芯片–串口 USB转TTL: 单片机串口—USB转TTL芯片–USB口 USB转TTL芯片有很多, 例如:CH340、PL2303、CP2102、FT232等。 开发板上,板载USB转TTL芯片:CH340,(stm32f103) 所以你只需要用USB连接线把电脑和开发板连起来,

找串口转USB驱动的辛酸经历

淺唱寂寞╮ 提交于 2020-01-14 20:13:25
  新买的电脑,居然没有串口。不得已,只有用USB转串口。电脑装的是64位WIN7。由于插上USB转串口线后,超级终端没有显示新的串口,所以我做了以下操作。   右键“我的电脑”->“管理”->“设备管理器”。 图1 当usb转串口线接上电脑usb口子的时候,“端口(COM和LPT)”处便显示“USB2.0 -Ser ”一个黄色感叹号,说明没有正确安装驱动。所以我需要到网上去下载合适的驱动。辛酸的经历开始了,找了一下午,没有找到合适的驱动,要么是适合XP的,要么是32位WIN7使用的,64位WIN7的没有找到。   由于我有另外一台32位的WIN7电脑,自动更新安装驱动便可以正常使用该usb转串口线了,于是,我在这台电脑上右键“USB2.0 -Ser”更新驱动程序软件,得到图2. 图2 点击自动更新,便可以看到图3. 图3 百度图3中的CH340,可知,它是 USB 总线的转接芯片,然后直接百度它的驱动,便终于得到可以使用的驱动了! (下载驱动 http://download.csdn.net/detail/daisy_sun/4884412 ) 来源: https://www.cnblogs.com/ben-ben/archive/2012/12/13/2817028.html

Ubuntu系统下USB转串口的使用

房东的猫 提交于 2020-01-14 20:09:56
PC系统是Ubuntu12.04,与路由器开发板之间用USB转串口线连接。 一、硬件连接 确认Ubuntu对USB转串口设备的支持。 1、# lsmod | grep usbserial 如果有usbserial,说明系统支持USB转串口。 zlf@zlf:~$ lsmod |grep usbserial usbserial 39125 3 ftdi_sio 2、插上USB转串口,在终端输入命令 # dmesg | grep ttyUSB0 ,如果出现连接成功信息,则说明ubuntu系统已经识别该设备了。 zlf@zlf:~$ dmesg | grep tty [ 0.000000] console [tty0] enabled [ 1.854936] 0000:00:03.3: ttyS4 at I/O 0x1830 (irq = 17, base_baud = 115200) is a 16550A [ 920.550979] usb 6-1: FTDI USB Serial Device converter now attached to ttyUSB0 二、软件选用 这里使用minicom,一款linux系统下的串口通信软件,全键盘操作,用用就习惯了。 minicom的安装、配置可以参考这篇: ubuntu下的usb转串口的使用 。 来源: https://www

完美解决:User has not given permission to device UsbDevice

痴心易碎 提交于 2020-01-14 12:29:12
这个问题的原因是软件没有获取到android的usb权限 解决之前我们在androidManifest.xml中添加权限, <uses-feature android:name="android.hardware.usb.host" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> 两种办法解决: 1,通过xml和配置 AndroidManifest.xml 文件来获取权限 这种办法一般是用做插入usb,直接弹出提示框的方法:Configure your AndroidManifest.xml to notify your app when a device is attached <activity android:name=".DeviceListActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> <intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter>

禁用usb的两种方法

倖福魔咒の 提交于 2020-01-13 06:39:50
禁用usb的两种方法: https://www.cnblogs.com/iyangyuan/archive/2012/07/16/2801825.html 都不完美,一个不生效,一个要打开配置文件来控制,且只能禁用没有用过的usb. 来源: CSDN 作者: coolfishbone_joey 链接: https://blog.csdn.net/coolfishbone_joey/article/details/103804511

USB转串口与USB协议的区别

孤街醉人 提交于 2020-01-11 14:21:17
关于SV613模块常见的问题:模块能不能做USB协议模块 在正常的数据传输系统中(如图1),传输数据的端口都有固定的格式要求,首先USB有数据输入,经过电平转换进入mcu,注意数据仍是串口协议,非串口协议的数据SV613模块不能识别处理。 一.USB转串口电路通信的设备 通过USB转串口电路通信的双方要遵守串口的通信协议,而串口是按照位(bit)来发送和接收数据的,包括起始位,数据位,奇偶校验位,停止位;通信之前要设置比特率。在具体电路硬件上又有TTL、RS232、RS485等不同的标准,不同的标准逻辑电平是不同的。 二.通过USB接口进行通信的设备 在实际应用场景中,通过USB接口进行通信的双方要遵守USB协议。标准的USB链接线使用4芯电缆:5V电源线(Vbus)、差分数据线负(D-)、差分数据线正(D+)和地线(GND)。USB是一种支持在USB主机和USB设备之间进行串行数据传输的通信协议。主机作为总线的主叫方,采用两种信令模式:全速模式12Mb/s和低速模式1.5Mb/s。USB使用四种数据传输方式:控制传输、中断传输、批量传输及等时传输。 USB系统是由三个逻辑层组成:功能层、USB设备层和USB总线接口层。并且每一层都是由主机和USB设备不同的功能模块组成,如下图所示: 使用USB转串口的SV613与使用USB接口的设备在硬件电路上是不兼容的

C++模式学习------适配器模式

假如想象 提交于 2020-01-11 10:31:37
适配器模式: 适配器模式属于结构型的设计模式,是将一个类的接口转换成使用方希望的另外一个接口,这样使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式有两种: 1.类的适配器:继承不同地类,在适配器类里面实现接口的兼容 1 class Interface_USB 2 { 3 public: 4 void doInterfaceUSB() 5 { 6 cout<<"Interface USB !!!"<<endl; 7 } 8 }; 9 10 class Interface_TYPEC 11 { 12 public: 13 virtual void doPlugin() = 0; 14 }; 15 16 class Interface_Convertor: public Interface_TYPEC,public Interface_USB 17 { 18 public: 19 void doPlugin() 20 { 21 doConvertor(); 22 doInterfaceUSB(); 23 } 24 void doConvertor() 25 { 26 cout<<"Type-c 转 USB"<<endl; 27 } 28 }; 29 30 int main() 31 { 32 Interface_Convertor* adapter = new

Linux USB串口驱动代码分析

守給你的承諾、 提交于 2020-01-11 01:01:10
4、USB serial 驱动代码分析 文件: drivers/usb/serial/usb-serial.c usb_serial_init(void) |---alloc_tty_driver /*分配serial驱动,最多支持512个USB Serial*/ | |---tty_alloc_driver | |---__tty_alloc_driver | |---kzalloc | |---bus_register /*注册USB Serial 总线*/ | |---usb_serial_tty_driver /*设置驱动名、设备名、主次设备号、传输模式、速率*/ | |---tty_set_operations /*设置Serial的操作方法*/ | |---tty_operations | |---tty_register_driver /*注册tty驱动*/ | |---tty_register_device | | |---tty_register_device_attr /*注册一个tty设备*/ | | | `---proc_tty_register_driver /*注册到/proc/tty/driver/*/ | |---usb_register /*注册USB驱动*/ | `---usb_serial_generic_register /*注册通用驱动*/