自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhandoushi的专栏

自在空间

  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 平和性格与力量性格

      生活越久,发觉周围交识的一些人让自己的内心不得安宁,充满失望。生活就是这样,面对形形色色的不同的人物,生活需要有智慧。我正在摸索这种智慧。      穆林三:这个人比较奇怪,以前喜欢发泄表现欲,内心又充满了自卑特性。有小聪明,却没有大的智慧,甚至工作到现在需要什么,都不明确,以至于他越走越迷茫,越过越不明朗。这个人对人不友善不客气,平常不相往来,需要你时才会想起你,没有一点乐趣和深

2010-04-29 16:38:00 2637

转载 linux的HZ, Tick, xtime, Jiffies, RTC && mdelay() 与msleep()的区别

     Linux核心几个重要跟时间有关的名词或变数,将介绍HZ、tick与jiffies。 (1)HZ        Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,具体查询设定方法可参见上篇文章《...

2010-04-27 20:22:00 28502 5

原创 PCM音频 && I2S音频

I2S有3个主要信号:1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数 2. 帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。3.串行数据SDATA,就是用二进制补码表示的音频数据。

2010-04-27 15:24:00 6083 1

原创 制作RealOne播放器

       制作一个RealOne播放器,来播放RM视频格式的文件,以及流媒体文件。本实例需要添加RealOne组件,只要在系统中安装RealPlayer播放器后,就可以将RealOne组件添加到VC工程中。(1)新建一个MFC工程对话框,并添加RealOne组件到该工程中。方法是Project->Add to Project->Components and Controls->Regist

2010-04-23 23:09:00 1640

原创 8051基础之三:数据存储类型

      KEILCx51是面向8051系列单片机及其硬件控制系统的开发工具。它定义的任何数据类型必须以一定的存储类型的方式定位在8051的存储区中,否则便没有任何的实际意义。该编译器通过将变量、常量定义成不同的存储类型(data,bdata,idata,pdata,xdata,code)的方法,将他们定位在不同的存储区中。      8051系列单片机将程序存储器(ROM,存储空间)和数据

2010-04-23 18:19:00 3916 1

原创 8051基础之二:复位电路

      RESET/Vpd作复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。                                                   

2010-04-22 19:45:00 8022

原创 8051基础之一:架构框图

      8051是MCS-51系列单片机的典型产品。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,内部结构如下:                                               单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形

2010-04-22 19:32:00 9464

原创 调频,调幅与调相

      使用调制与解调技术的目的是利用模拟信道来传输数据信息,这个要结合模拟信道的电气性能。调制(Modulation):将数据信息变换成适合于模拟信道上传输的电磁波(称为载波)信号,并将频率限制在模拟信道支持的频率范围内;解调(DeModulation):将从模拟信道上收取的载波信号还原成数据信息。一般有三种:(1)幅度调制(amplitude modulation):将不同的数据信息(

2010-04-22 18:04:00 34117 1

原创 欧规TeleText说明

    以下是瑞萨方案的TELETEXT图表:      TELETXT内容是编码在CVBS数据的VBI数据中,真实内容完全是ASCII码组成的数字流,低于基准电平的为0,高于基准电平的为1,通过VBI DECORDER将其采样。FONT RAM的作用是提供调用TXT ASCII对应的字符图,然后在屏幕上显示。由于瑞萨有两套OSD,一套是用户OSD,另一套是此处的FONT RAM字库,所以

2010-04-22 17:49:00 2617 4

原创 笑话雷人的腾讯客服面试

考官:什么学历?考生:小学没毕业。考官:有QQ么?考生:6位的。考官:有玩农场吗?考生:天天种萝卜。考官:耐性如何?考生:还可以,为偷一个萝卜守了10小时。考官:对外挂怎么看?考生:市场需求嘛,捉鬼放鬼、再时不时制造几个冤假错案公司才有利润。考官:??????考生:都公平了,谁来网站发帖?网站靠的就是点击率,点击率上不去网站吃什么喝什么?我岂不是就没事干了?考官:!!!!!!!考官:遇到懂编程又被

2010-04-22 13:36:00 1816

原创 控制电脑的左右声道

      本实例通过两个滑动条来分别控制电脑PC的左右声道。主要通过waveOutGetVolume函数来获得系统的音量,通过waveOutSetVolume来设置音量。系统音量是个DWORD值,它的低两个字节表示左声道音量,高两个字节表示右声道音量;音量范围都是从0X0000到0XFFFF。(1)新建一个MFC对话框,在对话框上添加两个slider控件,ID分别是IDC_LEFT和IDC_

2010-04-21 22:45:00 8028 8

转载 JAVA线程之六:线程的通信(以安卓定时器实验为例)

当应用程序启动时,Android首先会开启一个主线程(也就是UI线程) ,主线程管理界面中的UI控件,进行事件分发。如果此时需要一个耗时的操作,例如:联网读取数据,或者读取本地较大的一个文件的时候,如果你放在主线程中的话,界面会出现假死现象。如果5秒钟还没有完成的话,会收到Android系统的一个错误提示“强制关闭”。        所以我们需要把这些耗时的操作,放在一个子线程中。这个时候,H

2010-04-21 13:49:00 2884

转载 JAVA线程之五:线程的同步

      如果程序是单线程,执行起来不必担心此线程会被其他线程打扰,就像在现实中,同一时间只完成一件事情,可以不用担心这件事情会被其他事情打扰。但是如果程序中同时使用多线程,就好比现实中“两个人同时进入一扇门”,此时就需要控制,否则容易阻塞。为了避免多线程共享资源发生冲突的情况,只要在线程使用资源时给该资源上一把锁就可以了,访问资源的第一个线程为资源上锁,其他线程若想使用这个资源必须等到锁解除为

2010-04-21 10:28:00 1485

转载 JAVA线程之四:线程状态检查,后台线程及线程组

一,线程状态的检查      一般情况下无法确定一个线程的运行状态,对于这些处于未知状态的线程,可以通过isAlive()方法用来确定一个线程是否仍处在活动状态。当然即使处于活动状态的线程也并不意味着这个线程一定正在运行,对于一个已开始运行但还没有完成任务的线程,这个方法返回值为true。二,后台线程      后台线程,即Daemon线程,它是一个在背景执行服务的线程,例如操作系统中的隐

2010-04-20 14:49:00 12813

原创 JAVA线程之三:线程的挂起和恢复

(1)概述:线程的挂起操作实质上就是使线程进入“非可执行”状态下,在这个状态下CPU不会分给线程时间片,进入这个状态可以用来暂停一个线程的运行。在线程挂起后,可以通过重新唤醒线程来使之恢复运行。         run() 和start() 是大家都很熟悉的两个方法。把希望并行处理的代码都放在run() 中;stat() 用于自动调用run(),这是JAVA的内在机制规定的。当一个线程进入“非

2010-04-20 13:43:00 52344 3

原创 JAVA线程之七:线程的生命周期及死锁

一,线程的四个主要周期状态是“创建”,“可执行”,“非可执行”,“消亡”,状态转换关系如下图:(1)创建。当实例化一个thread对象并执行start()方法后,线程进入“可执行”状态开始执行。虽然多线程给用户一种同时执行的假象,但事实上在同一时间点内,只有一个线程在执行,只是线程之间切换的动作非常快,所以看起来跟同时执行一样。(2)可执行。当线程启用start()方法之后,进入“可执

2010-04-19 17:13:00 4525

转载 JAVA线程之二:线程的调度及优先级

与线程休眠类似,线程的优先级无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。      如下的实例sss.java:public class sss{      pu

2010-04-19 15:04:00 1489

转载 JAVA线程之一:实现一个线程的两种方法

Java通过java.lang.Thread类完成多线程。我们通过同一个例子,看线程的两种创建方法,以及运行方法:(1)一种是声明 Thread 的子类,重载 Thread 类的方法 run(Extend java.lang.Thread and override the run method)class MyThread extends Thread{ public void r

2010-04-19 13:51:00 2024 1

原创 控制PC喇叭发声

      PC喇叭发声就是需要控制硬件的声调和延时,让其发出对应的声音,可用来对外界产生测试声音源。注意:使PC喇叭发声是绕过声卡的,也就是说就算计算机上没有声卡,该操作也可完成。(1)新建一个MFC对话框,并且安置七个按钮,分别表示声调的7个阶,每个按钮的操作函数如下:void CSpeakerbeepDlg::OnOne() {      Beep(264,500);      //

2010-04-18 09:38:00 4589

原创 用VC实现简单的录音和播音 && VC的管道操作

      用VC可以进行简单的录音和播音操作,这里调用的是微软的音频开发包,通过MCI函数(Media Control Interface,媒体控制接口)即可实现。只需要新建一个对话框,上面列四个按钮,分别是录音、停止、播放、保存即可。                               (1)在StdAfx.h中加入下面的语句:#include               

2010-04-17 23:08:00 6064 4

原创 GetCurrentDirectory等文件夹操作函数 && MessageBox信息函数 && VC应用执行DOS命令和批处理

(1)函数说明      我们很多时候需要在一个目录下添加一个文件下或者删除一个文件夹。需要用到的API是:获取当前目录的绝对路径:DWORD GetCurrentDirectory( DWORD nBufferLength, LPSTR lpBuffer );创建特定目录下的某文件夹:BOOL CreateDirectory( LPCSTR lpPathName, LPSEC

2010-04-16 22:08:00 1978

原创 蓝牙基础及应用 && 蓝牙耳机用到的协议 && TI2540学习笔记

Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部的Bluetooth规范。为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规范中定义了Profile。Profile定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协议。           (1)蓝牙主机控制器模块Bluetooth Host Cont

2010-04-15 18:21:00 12167 1

原创 secureCRT终端显示彩色 && secureCRT中文乱码 && secureCRT串口无法TX

出于兴趣需要,想连接下多个地方的无线WIFI网络,结果都需要密钥。所以就花了几天时间照网上的方法破解下试试,终于被俺试出来了,过程如下:1,我的网卡型号是RT73 USB Wireless LAN Card,以上名称是在设备管理器中显示的完整名字,我在XP下装了完整的原厂驱动,但在ubuntu里面是什么驱动都没有装。2,首先需要了解当前环境下目标WIFI网的名字,频道号。我是用

2010-04-15 11:35:00 6477

转载 Java异常处理及异常机制介绍 && long,int,short与byte数组之间的转换

(1)什么是异常      当出现程序无法控制的外部环境问题(用户提供的文件不存在,文件内容损坏,网络不可用...)时,JAVA就会用异常对象来描述。 JAVA中用2种方法处理异常:1.在发生异常的地方直接处理;2.将异常抛给调用者,让调用者处理。JAVA异常可分为3种:  A,检查性异常:java.lang.Exception.检查性异常------程序正确,但因为外在的

2010-04-14 10:49:00 1546

原创 前进的路

      年后的工作一直不是很忙。无非就是整理资料,看看之前没搞懂的东西。我是有计划的分模块来完成自己的提高步骤。突然间,JAVA也要搞搞,也好,起码可以让自己对JAVA不会是外行。      工作这么久,一直幻想自己会有个质的突破。但总是对自己在专业方面的表现不是很满意,老觉得自己会的东西太简单,想多的磨砺可惜没有专门的时间和任务。谈谈VC,从一开始我就想成个能手,但是由于没有做过专业的项

2010-04-13 20:29:00 868

原创 数据类型的显式转换和隐式转换

      如下面的一段小程序:void main(void){      unsigned char a;      unsigned int b;       b=100*4;      a=b;      printf(“%d”,a);      while(1);}      如果你是细心的朋友定会发现a的值是不会等于100*4的。是的,a和b一个是char类型一个是int类型,从以前的学

2010-04-12 17:58:00 2080

原创 #error和#progma && 宏定义换行符“\”

(1),#error      编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。下面举个例子:程序中往往有很多的预处理指令#ifdef XXX...#else...#endif      当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当

2010-04-12 17:40:00 1830

原创 C开发中堆和栈的差别

(1)栈区(stack)—   由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 例如,声明在函数中的一个局部变量int b;系统自动在栈中为b开辟空间。只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。比如:char* AllocStrFromStack(){    char pstr[100];    retu

2010-04-12 17:02:00 1096

转载 JAVA的public,private,protected访问权限

Java中的访问权限有public,private,protected和默认的包访问权限,如果类中的属性方法没有显示的指明访问权限,则具有包访问权限,也称它为packeged权限,很多人也称它为friendly访问权限,而packaged和friendly这两个关键字在实际中都是不存在的。      为了条理清晰,分三种不同情况来总结。(1)访问权限修饰符修饰成员变量和方法public

2010-04-09 20:49:00 3745

转载 C++的public,private,protected权限

      由于不存在包的概念,因此,C++的protected与java中的protected有所不同,Java中的protected不但子对象可以访问,而且包里的其它地方,也可以显示的通过子对象调用,如package pack1public class A{     protected int a;}package pack1public class B{    

2010-04-09 20:31:00 2598

转载 JAVA的关键字:final && synchronized

根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。(1)final类不能被继承,没有子类,final类中的方法默认是final的。 (2)final方法不能被子类的方法覆盖,但可以被继承。 (3)final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 (4)final不能用于修饰构造方法。 注

2010-04-08 14:58:00 4416

转载 Android的intent:基础以及显示/隐式使用Intent,SD挂载识别&& 通过intent返回结果

在一个Android应用中,主要是由四种组件组成,包括:activity、intent、service、content provider。这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。在这些组件之间的通讯中,主要是由Intent协助完成的。        Intent负责对应用中一次操作的动作、动作涉及数据进行描述,Android则根据此Intent

2010-04-06 17:00:00 2859

原创 KV杀毒软件创始人离世

      他,三岁因小儿麻痹症而落下终身残疾,没有进过正规大学的校门,二十多岁在一个街道小厂当技术员,三十八岁之前还不知道电脑为世间何物。就是这个无论从哪个角度说,都从未受到社会眷顾的"弃儿",却成为了中关村最富有传奇色彩的知识英雄,中国软件业界中的奇才,国际上都赫赫有名的"杀毒王"。  他,就是王江民。      看到这里,我觉得作为一个搞IT的年轻后生,学习了IT前辈的人生经历和创业阅历

2010-04-06 13:24:00 1230

原创 this和super && getApplicationContext/getBaseContext/this等的用法

当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。用法:(1)this(参数):调用本类中另一种形式的构造函数 class Point { private int x,y; public Point(int x,int y

2010-04-02 16:20:00 1404

转载 AndroidManifest.xml 文件之详细解析 && meta-data的使用

AndroidManifest.xml是每个android程序中必须的文件。它位于工程的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。      此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间

2010-04-01 21:08:00 6643 1

转载 JAVA的extends用法

理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。(1)继承class Animal{ void eat(){ System.out.println("Animal eat"); } void sleep(){ System.out.println

2010-04-01 13:20:00 138161 7

LED驱动SN3101 的DEMO驱动

SI-EN公司出品的LED驱动型号3101的样例驱动,移植即可使用

2010-12-22

空空如也

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

TA关注的人

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