usb接口

Java 接口和多态练习

匿名 (未验证) 提交于 2019-12-02 21:53:32
我们鼠标和键盘实现USB接口,那么我们鼠标和键盘就变成了USB设备,这时候我们就可以把它放到笔记本电脑里面去用 1 package com.biggw.day10.demo07; 2 3 /** 4 * @author gw 5 * @date 2019/11/2 0002 下午 16:46 6 */ 7 public class Computer { 8 public void open() { 9 System.out.println("打开电脑!"); 10 } 11 12 public void close() { 13 System.out.println("关闭电脑!"); 14 } 15 16 public void useDevice(Usb usb) { 17 if (usb instanceof KeyBorad) { 18 KeyBorad keyBorad = (KeyBorad) usb; 19 keyBorad.open(); 20 keyBorad.type(); 21 keyBorad.close(); 22 } else if (usb instanceof Mouse) { 23 Mouse mouse = (Mouse) usb; 24 mouse.open(); 25 mouse.click(); 26 mouse.close(); 27 }

Spring的IOC原理[通俗解释一下]

守給你的承諾、 提交于 2019-12-02 18:05:01
本文系转载,个人认为,这篇文章对IOC原理讲的比较清楚,通俗易懂,值得一看。 原文地址: http://blog.csdn.net/m13666368773/article/details/7802126 1. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。 图1:软件系统中耦合的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协同工作,共同完成某项任务。我们可以看到,在这样的齿轮组中,如果有一个齿轮出了问题,就可能会影响到整个齿轮组的正常运转。 齿轮组中齿轮之间的啮合关系,与软件系统中对象之间的耦合关系非常相似。对象之间的耦合关系是无法避免的,也是必要的,这是协同工作的基础。现在,伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系,因此,架构师和设计师对于系统的分析和设计,将面临更大的挑战。对象之间耦合度过高的系统,必然会出现牵一发而动全身的情形。 图2:对象之间复杂的依赖关系 耦合关系不仅会出现在对象与对象之间,也会出现在软件系统的各模块之间

Spring的IOC原理[通俗解释一下]

会有一股神秘感。 提交于 2019-12-02 18:04:35
1. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。 图1:软件系统中耦合的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协同工作,共同完成某项任务。我们可以看到,在这样的齿轮组中,如果有一个齿轮出了问题,就可能会影响到整个齿轮组的正常运转。 齿轮组中齿轮之间的啮合关系,与软件系统中对象之间的耦合关系非常相似。对象之间的耦合关系是无法避免的,也是必要的,这是协同工作的基础。现在,伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系,因此,架构师和设计师对于系统的分析和设计,将面临更大的挑战。对象之间耦合度过高的系统,必然会出现牵一发而动全身的情形。 图2:对象之间复杂的依赖关系 耦合关系不仅会出现在对象与对象之间,也会出现在软件系统的各模块之间,以及软件系统和硬件系统之间。如何降低系统之间、模块之间和对象之间的耦合度,是软件工程永远追求的目标之一。 为了解决对象之间的耦合度过高的问题 ,软件专家Michael Mattson提出了IOC理论,用来实现对象之间的“解耦”

USB 驱动框架分析

岁酱吖の 提交于 2019-12-02 18:01:53
这里先说一些概念性的东西,了解一下USB   一、关于usb设备 都见过很多,用过很多了,每当我们插上一个usb设备到pc的时 右下角就会弹出一个提示信息,提示“发现xxx”设备,再接着跳出一个对话框提示安装驱动程序,那么,即然没有驱动程序,PC如何知道我是usb设备还有知道我是“xxx”呢,因为PC机里已经有“USB总线驱动程序” 看到总线两字,就会联想到我们之前写驱动时的那些 “平台总线”之类的东西了,USB总线驱动程序能知道你是USB设备 再找出和你对应的驱动,如果没有的话,会提示没有找到对应的驱动,要你去下载或直接提示无法成功安装。   二、USB设备总类很多,比如 USB鼠标呀,USB移动硬盘,USB网卡,等很多种类,为什么一接到PC就能识别出来是那种类型呢?因为USB是一套规范,对PC的USB总线驱动和USB设备都需要遵循这个规范,不然可就乱套了。例:USB接到PC后 PC的USB总线驱动会发出“你是什么”?那么USB设备就必须要回答“我是什么” 并且回答的格式必须要和USB总线的格式一样的,这个格式就是“描述符”。   三、PC机上经常同时接有几个或更多个USB设备,那如何分辨那个是那个呢?而且USB接口就四条线 5V、GND、D+、D-、?因为每个USB设备接入PC时,总线驱动会给它分配一个编号,当PC访问USB设备时,发出的命令都带有对应的编号。即然是这样

Linux环境下使用 USB转串口驱动(二)

给你一囗甜甜゛ 提交于 2019-12-02 16:55:00
linux下USB转串口识别 2012年03月30日 星期五 11:24 minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将讲解minicom的安装和配置。 一、安装minicom: 使用以下命令: # sudo apt-get install minicom 以下为安装的详细信息: # sudo apt-get install minicom 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会安装下列额外的软件包: lrzsz 下列【新】软件包将被安装: lrzsz minicom 共升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 2 个软件未被升级。 需要下载 270kB 的软件包。 解压缩后会消耗掉 1389kB 的额外空间。 您希望继续执行吗?[Y/n]y 获取:1 http://ubuntu.uestc.edu.cn hardy/universe lrzsz 0.12.21-4.1 [97.0kB] 获取:2 http://ubuntu.uestc.edu.cn hardy/main minicom 2.3~rc1-2 [173kB] 下载 270kB,耗时 1s (184kB/s)

ubuntu 下安装quartus ii9.1及usb-blaster配置

℡╲_俬逩灬. 提交于 2019-12-02 07:56:39
1.到官网下载免费的网络版quartus ii http://dl.altera.com/?edition=web 选择版本为9.1 从官网下载下来的文件名是:91_quartus_free_linux.tar 2.解压 tar -xvf 91_quartus_free_linux.tar 3.cd到解压目录执行sudo ./install 按enter,会让你填安装目录,在这里我选择默认的/opt/altera9.1,读者可以另行选择,但目录名不能含中文或者空格 4.安装好之后gedit ~/.bashrc 在末尾添加以下代码: # Altera Quartus environment variables QUARTUS_64BIT=0 MWOS=linux MWARCH=i86 QUARTUS_MWWM=allwm export QUARTUS_ROOTDIR=/opt/altera9.1/quartus/ export PATH=$PATH:/opt/altera9.1/quartus/bin/:/opt/altera9.1/quartus/linux/ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/:/usr/lib:/opt/#altera9.1/quartus/linux/ unset GCC_EXEC_PREFIX