自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(96)
  • 收藏
  • 关注

原创 医疗器械项目记录

1.android实现倒计时关于倒计时的实现,可以说有很多的方法,比较常见的就是Timer+TimerTask+Handler了,或者还可以配合Runnable。例如下面的代码:[html] import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bu

2017-04-10 20:34:04 549

原创 项目记录之蓝牙无线传输测量病人心跳频率

蓝牙主机从机区别主机就是能够搜索别人并主动建立连接的一方,从机则不能主动建立连接,只能等别人连接自己,主从一体就是能够在主机和从机模式间切换,即可做主机也可作从机

2017-04-10 11:21:57 802

原创 java反射技术提高了程序的扩展性

当下流行的框架等全部采用了java反射技术。反射定义:动态的获取类中的成员变量+成员方法,并加以调用。反射技术的核心: 接口 + 配置文件;应用程序通过读取用户提供的配置文件中的信息,来动态的获取类中的具体信息并加以调用。

2017-02-25 11:08:41 602

转载 Apache与Tomcat有什么关系和区别,servlet是Tomcat里的一个接口标准

经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总结了一下:   一 apache支持静态页,tomcat支持动态的,比如servlet等,  一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tom

2017-02-24 10:54:36 482

原创 医疗器械项目记录-2017年版

/*隐藏虚拟按键,实现全屏,问题:上拉会弹出的问题待解决 public void hideBottomUIMenu(){ if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api View v = this.getWindow().getDecorView

2017-02-17 15:01:49 456

转载 java多线程 sleep()和wait()的区别

http://www.cnblogs.com/octobershiner/archive/2011/10/28/2227705.html 接触了一些多线程的东西,还是从java入手吧。   相信看这篇文章的朋友都已经知道进程和线程的区别,也都知道了为什么要使用多线程了。   这两个方法主要来源是,sleep用于线程控制,而wait用于线程间的通信

2017-01-04 09:06:12 282

原创 UVA 12108

When a student is too tired, he can’t help sleeping in class, even if his favorite teacher is right here in front of him. Imagine you have a class of extraordinarily tired students, how long do you hav

2015-12-06 17:29:18 380

原创 散列表

要保证关键字被散列函数均匀的映射到不同的存储单元…通常取散列表大小为质数1.如果关键字是整数,,,则直接返回 key mod size 2,如果关键字是字符串,,,则散列函数需要仔细考虑解决散列表映射到同一地址的冲突问题1.分离链接法 2.开放定址法http://blog.csdn.net/xiaofan086/article/details/8459758http://blog.csdn.ne

2015-12-06 17:28:08 278

原创 B树(平衡多路查找树)B-tree树

2阶B树 -> 2-3树 3阶B树 -> 2-3-4树2-3树是最简单的B-树(或-树)结构,其每个非叶节点都有两个或三个子女,而且所有叶都在统一层上。2-3树不是二叉树,其节点可拥有3个孩子。不过,2-3树与满二叉树相似。高为h的2-3树包含的节点数大于等于高度为h的满二叉树的节点数,即至少有2^h-1个节点。http://www.cnblogs.com/yangecnu/p/Introduce

2015-11-15 11:22:34 843

原创 伸展树

伸展树(Splay Tree,事实上在国内OI界常常被称作Spaly Tree,与此同理的还有Terap),也叫分裂树,是一种二叉排序树,它能在O(log n)内完成插入、查找和删除操作。它由Daniel Sleator和Robert Tarjan创造,后者对其进行了改进。它的优势在于不需要记录用于平衡树的冗余信息。在伸展树上的一般操作都基于伸展操作。树的旋转总结:当一个节点绕着另一个节点旋转,保持

2015-11-15 09:30:58 331

原创 <算法> 第一章 基础

1.欧几里得求最大公约数算法证明:其计算原理依赖于下面的定理:定理:gcd(a,b) = gcd(b,a mod b) (a>b 且a mod b 不为0)证明:a可以表示成a = kb + r,则r = a mod b假设d是a,b的一个公约数,则有d|a,d|b,而r = a - kb,因此d|r因此d也是(b,a mod b)的公约数因此(a,b)和(b,a mod b)的公约数是

2015-10-16 16:10:50 345

原创 嵌入式linux之SPI驱动

linux SPI驱动层次 (spi_device,单板相关的信息) SPI FLash SPI声卡 SPI_OLED (spi_driver,收发什么数据) SPI核心层,core.c SPI控制器 (spi_master 负责收发数据,不管数据是什么)

2015-09-16 21:24:10 688

转载 为啥PC = PC + 8 ARM

http://www.61ic.com/Technology/embed/201505/52919.html

2015-09-09 21:39:44 465

转载 synchronized详解

synchronized的一个简单例子public class TextThread { /**  * @param args  */ public static void main(String[] args)  {  // TODO 自动生成方法存根        TxtThread tt = new TxtThread();        new Th

2015-09-08 08:52:10 388 1

原创 嵌入式linux程序之调试方法

裸板调试1.点灯法(程序能运行到的地方点灯) 2.串口打印 3.调试器,JTAG,仿真器JTAG调试原理,硬件断点和软件断点http://blog.csdn.net/gowyz/article/details/7290701源码级调试可采用eclipse(封装了gdb工具)

2015-09-05 17:25:12 1130

原创 嵌入式linux之hotplug_uevent驱动(热拔插)

mdev是udev的简化版本,是busybox中所带的程序,最适合用在嵌入式系统,而udev一般用在PC上的linux中,相对mdev来说要复杂些,devfs是2.4内核引入的,而在2.6内核中却被udev所替代,他们有着共同的优点,只是devfs中存在一些未修复的BUG,作者也停止了对他的维护,最显著的一个区别,采用devfs时,当一个并不存在的设备结点时,他却还能自动的加载对应的设备驱动,而ud

2015-09-05 09:06:51 2353

原创 嵌入式linux之DMA驱动

http://blog.csdn.net/jingzhesiye/article/details/8610865malloc分配的内存在虚拟地址上是连续的.1、linux内核管理内存空间的分配,所有程序对内存空间的申请和其他操作,最终都会交给内核来管理。2、linux实现的是“虚拟内存系统”,对用户而言,所有内存都是虚拟的,也就是说程序并不是直接运行在物理内存上,而是运行在虚拟内存上,然后由虚拟内存

2015-09-04 20:48:55 921

原创 嵌入式linux之IIS驱动

声音播放:声音信号->SDARM->IIS控制器->声卡中的DAC->喇叭/耳机声音录音:麦克风中的声音信号->声卡中的ADC->IIS控制器->SDRAM详解linux声卡驱动框架http://blog.csdn.net/droidphone/article/details/6271122http://blog.csdn.net/sunruichen/article/details/8568273

2015-09-02 17:35:46 1451

原创 嵌入式linux之字符驱动程序的另一种写法

register_chrdev函数会占用0~255的次设备号范围. 因此,太浪费资源,需要将其展开.展开后涉及的函数有:register_chrdev_region,alloc_chrdev_region,MKDEV(),MAJOR(),MINOR(),cdev_init(),cdev_add()详解 #http://blog.csdn.net/angle_birds/article/details

2015-09-01 21:41:22 315

原创 设计模式之建造者模式

建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.http://www.cnblogs.com/BeyondAnyTime/archive/2012/07/19/2599980.html建造者模式通常包括下面几个角色:builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建

2015-09-01 10:41:52 257

原创 嵌入式linux之IIC驱动

IIC介绍:SDA信号线和SCL时钟线http://blog.sina.com.cn/s/blog_9815359e01012c6k.htmlhttp://www.cnblogs.com/jason-lu/archive/2012/11/24/2786406.htmlhttp://blog.sina.com.cn/s/blog_7cae47280101mne2.html实例解析IIC驱动程序的两种实

2015-08-31 21:29:41 556

原创 设计模式之外观模式

外观模式类似于传统的三层架构,例子中的CPU类属于数据访问层,Computer类属于业务逻辑层,Client服务端属于表现层~Java这是一个抽象的示例。一个客户“you”通过外观接口“computer”获取计算机内部复杂的系统信息。/* Complex parts */class CPU {public void freeze() { ... }public void jump(long

2015-08-30 22:17:37 243

原创 程序三层架构

http://baike.baidu.com/link?url=A-LXlnE9bmM-E0DoNIQArwQaE0t1TTlZiNo3y24QmCpS9Qq52hPn3Ah7SsHeUYjv8mT-pQ0Q_V2IlCal_EDsuqhttp://blog.csdn.net/hanxuemin12345/article/details/8544957三层架构(3-tier architecture

2015-08-30 22:11:35 709

原创 嵌入式MCGS项目记录,modbus-rtu协议

http://www.doc88.com/p-6951966702948.html

2015-08-09 09:26:36 2058

原创 嵌入式linux之NOR FLASH驱动

JEDEC和CFI标准Flash 存储器接口还有两个标准:CFI和JEDEC。CFI为公共Flash接口[Common Flash Inte**ce],用来帮助程序从Flash芯片中获取操作方式信息,而不用在程序中硬编码Flash的ID。JEDEC用来帮助程序读取Flash的制造商ID和设备ID,以确定Flash的大小和算法,如果芯片不支持CFI,就需使用JEDEC了http://blog.sina

2015-08-07 14:46:42 406

原创 PID算法记录

参数整定找最佳,从小到大顺序查  先是比例后积分,最后再把微分加  曲线振荡很频繁,比例度盘要放大  曲线漂浮绕大湾,比例度盘往小扳  曲线偏离回复慢,积分时间往下降  曲线波动周期长,积分时间再加长  曲线振荡频率快,先把微分降下来  动差大来波动慢。微分时间应加长  理想曲线两个波,前高后低4比1  一看二调多分析,调节质量不会低 PID控制算法程序采用结构体定义:  struct PID{

2015-08-06 19:05:43 440

原创 嵌入式linux之Nand flash驱动程序框架

http://blog.csdn.net/lwj103862095/article/details/21545791http://www.eetop.cn/blog/html/92/23692-18147.htmlNAND FLASH是一个存储芯片 那么: 这样的操作很合理”读地址A的数据,把数据B写到地址A”问1. 原理图上NAND FLASH和S3C2440之间只有数据线, 怎么传

2015-08-06 11:19:29 1112

原创 嵌入式linux之块设备驱动程序概念,框架

不能像字符设备驱动那样,直接提供简单的读写函数,效率过于低下要将读写函数放入队列,优化后,再去执行框架:框架:app: open,read,write "1.txt"--------------------------------------------- 文件的读写文件系统: vfat, ext2, ext3, yaffs2, jffs2 (把文件的读写转换为扇区的读写)

2015-08-03 22:15:33 245

原创 面向对象学习记录

抽象类和接口区别:接口是比抽象类更为抽象的类。抽象类可以含有非抽象方法。面向对象的核心即是面向抽象,面向接口编程。封装变化 ,封装共性,抽象出共性,面对不同的变化,抽象出共性,从而创造出可重用的代码。通过抽象类引用去管理其实现类对象。对接口的两层理解:第一层:通过抽象类引用去管理其实现类对象(类似于领导管理下属,领导的任务很抽象,每个下属去采用不同的方式去实现领导的任务),越往上层越抽象。接口第二

2015-08-01 23:40:02 203

原创 设计模式之工厂方法模式

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式interface IProduct { public void productMethod(); } class Product implements IProduct { public void productMethod() { Syste

2015-08-01 23:31:06 246

原创 设计模式之代理模式

定义:为其他对象提供一种代理以控制对这个对象的访问。抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。Proxy模式在访问对象时引入了一定程度的间接性。根据代理的类型,附加的间接性有多种用途:1) Remote Pro

2015-08-01 07:32:59 256

原创 嵌入式linux之USB设备驱动概念

现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序问1. 既然还没有"驱动程序",为何能知道是"android phone"答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone" 提示你安装的是"设备驱动程序" USB总线驱动程序负责:识

2015-07-31 21:00:19 452

原创 嵌入式linux之触摸屏驱动框架

1、工作原理首先我们要区分lcd和触摸屏,lcd是一个屏幕,触摸屏是贴在lcd上的两层膜。接下来我们说一下四线电阻触摸屏的原理:触摸屏就是上下两层膜,比如上层代表x轴(XM:负端,XP:正端),下层代表y轴(YM:负端,YP:正端)。当读取x轴坐标时,XP接3.3v,XM接地,从YM读取按下点的电压值作为模拟输入信号,再经过AD转换后就得到了x轴坐标。同理,当读取y轴坐标时,YP接3.3v,YM

2015-07-31 09:55:49 2550

原创 同步,异步,阻塞,非阻塞IO

同步与异步IO、阻塞与非阻塞IO 很多时候我们常常看到同步与异步,阻塞与非阻塞的出现。有的地方直接将同步与阻塞画上了等号。异步与非阻塞画上了等号。事实上这是不对的。同步不等于阻 塞,而异步也不等于非阻塞。下面就来仔细的看看同步与异步、阻塞与非阻塞的概念差别,及他们的组合应用。 同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用

2015-07-29 19:08:14 307

原创 嵌入式linux之LCD驱动记录

分类: 1、页对齐内存大小:dma_map_size = PAGE_ALIGN(MY_DATA_SIZE + PAGE_SIZE);MY_DATA_SIZE是你想分配的大小.2、调用A = dma_alloc_writecombine(B,C,D,GFP_KERNEL);含义:A: 内存的虚拟起始地址,在内核要用此地址来操作所分配的内存B: struct device指针,可以平台初始化里指定,主

2015-07-28 14:26:06 724 1

原创 设计模式之装饰模式

定义:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。层层包装,增强功能。在装饰模式中的各个角色有:  (1)抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。   (2)具体构件(Concrete Component)角色:定义一个将要接收附加责任的类。   (3)装饰(Decorator)角色:持有一个构件(Component

2015-07-26 10:42:51 222

原创 嵌入式linux之LCD驱动层次分析

static int __init fbmem_init(void) { proc_create("fb", 0, NULL, &fb_proc_fops); if (register_chrdev(FB_MAJOR,"fb",&fb_fops)) //注册了名字为fb的字符设备,相关操作为fb_fops printk("unable to g

2015-07-25 21:17:15 470

原创 嵌入式linux之分离分层概念,总线驱动设备模型

一、示意图 App input.c / \ / \ / 分离 \button.c < ===== > evdev.c 硬件相关

2015-07-24 12:41:01 396

原创 嵌入式linux之输入子系统

1、为何引入input system? 以前我们写一些输入设备(键盘、鼠标等)的驱动都是采用字符设备、混杂设备处理的。问题由此而来,Linux开源社区的大神们看到了这大量输入设备如此分散不堪,有木有可以实现一种机制,可以对分散的、不同类别的输入设备进行统一的驱动,所以才出现了输入子系统。 输入子系统引入的好处:(1)统一了物理形态各异的相似的输入设备的处理功能。例如,各种鼠标,不论PS/2

2015-07-24 09:23:13 429

原创 设计模式之单一职责原则

单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出的。马丁表示此原则是基于汤姆·狄马克(Tom DeMarco)和Meilir Page-Jones的著作中的内

2015-07-23 08:47:36 514

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除