自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(173)
  • 资源 (14)
  • 收藏
  • 关注

原创 浅谈AudioRecord对多通道音频的支持

麦克风阵列是近几年来比较火的技术,顾名思义,就是音源输入由原来的单一麦克风变成多路麦克风。在实际的项目中需要在Android系统中通过AudioRecord接口获取4路麦克风录音数据。设备端是一个声明成UAC设备的多麦克风录音设备,具体参数是4channel,16K,16bit,但AudioRecord的接口关于通道的参数只有单声道和立体声,不支持多通道录音。这里做了一个变通,通过提高采样率来获取...

2018-02-22 13:42:48 6862 1

转载 MySQL密码到期重新设定密码方法

遇到错误:ERROR 1862 (HY000): Your password has expired. To log in you mustchange it using a client that supports expired passwords.原因是:MySQL 5.6 introduces password-expiration capabi

2017-06-11 13:17:15 665

原创 Windows环境下搭建WordPress过程记录

运行环境:Win8(32位),IIS6.0,PHP5.6.30,WordPress4.8 因为在搭建环境之前,我的电脑上已经安装了MySQL,所以就没有在安装,整个安装流程参考了下面的文章: 黄聪:Win7部署WordPress傻瓜式教程(IIS7.5+MySQL+PHP+WordPress) 主要的配置包括: 1 配置IIS支持PHP,需要把下载的PHP解压安装路径配置到IIS中 2 修

2017-06-11 13:16:05 6148

原创 硅麦与驻极体麦

1、驻极体麦(ECM麦克风) 工作原理:高压极化注入电荷形成膜间电压 2、硅麦(MEMS麦克风) 工作原理:偏置电压

2016-12-14 16:21:11 14604 1

转载 移位运算符操作数是负数的处理方式

i<<-1和i<<31 的结果一样 1 “-1”表示成补码是1111 ….11 1111 ,31是 0000 …0011 1111,,他们的后六位是一样的。 2 Interger的移位运算只注意后6位,看注释 Note also that rotation by any multiple of 32 is a no-op, so all but the last five bits

2016-11-12 15:27:36 6458

原创 I2S概述

I2S(Inter—IC Sound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,在I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有3个主要信号: 1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数 2. 帧时钟LRCK,(也称WS),用于切换左右声道的数据。L

2016-10-15 18:14:46 1040

原创 主机向HID设备读数据的过程

用户可以采用 中 断 或 轮询 USB_INTSTS 的 方 式 来 监 测 USB 传输 ,在 USB 传输 发 生 时 ,USB_INTSTS由硬件设置,并向CPU发送中断请求(如果相关中断使能),在没有使能中断时,用户可以轮询USB_INTSTS来获取事件,以下是中断使能时的控制流程.USB主机向设备控制器请求数据时,用户需要预先准备相关的数据到指定的端点缓存. 在将数据写入缓冲区后,用户需

2016-10-12 15:06:00 2710

原创 网卡与数据链路层

以太网是由Ethernet音译过来的,Ether是以太的意思,曾经被认为是电磁波的传播载体。以太网是局域网的众多实现技术中的一种,主要协议是CSMA/CD(Carrier Sense Multiple Access with Collision Detection)即带冲突检测的载波监听多路访问技术(载波监听/多点接入/碰撞检测) CSMA/CD属于数据链路层的协议,该协议通过网卡来实现,下面是网

2016-10-08 22:25:10 3387

转载 硬解和软解的区别

Q:什么是硬解? A:硬解是要机器中的专门的解码芯片来完成,质量因厂家的技术能力而定,部分厂商技术实力强,兼容性和解码效果做的比较好,而有些厂商技术实力稍差,兼容性和解码效果做的就不尽如意。 Q:什么是软解? A: 软解就是用CPU来解码,需要CPU的性能与处理能力较强,但对流媒体格式兼容性比较好,因为软解库是我们自己开发的,质量我们能控制。 Q:硬解比较好还是软解? A:一般来说硬解的 画

2016-09-29 09:41:41 7028

转载 I2S协议

I2S仅仅是PCM的一个分支,接口定义都是一样的, I2S的采样频率一般为44.1KHZ和48KHZ做,PCM采样频率一般为8K,16K。有四组信号: 位时钟信号,同步信号,数据输入,数据输出.I2S总线标准 I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。

2016-09-17 20:05:28 25949 1

原创 STC89C52单片机实验1-点亮一个发光二极管

/*--------------------------------------------------------------------------REG51.HHeader file for generic 80C51 and 80C31 microcontroller.Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Softwa

2016-09-12 21:34:24 8984

原创 Android平台遥控器按键映射流程

遥控器发一个扫描码,扫描码会经过kl文件的映射,每个设备可以有自己对应的kl文件,如果没有对应的kl文件则使用系统默认的Generic.kl文件 1 查看输入设备和kl文件名的对应关系 如上图所示的设备对应的kl文件名为:Vendor_0001_Product_0001.kl 经过kl文件的映射扫描码被映射到键值名 如上图,按遥控器右键,通过getevent观察遥控器发送的键值为00

2016-09-08 16:33:12 9479

转载 MCU是什么——结构与组成

Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。  Ⅱ:存储器,包括ROM和RAM。ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。存

2016-09-01 23:35:41 19550

转载 SPI和UART的区别

SPI和UART都是处理和传输数据的芯片单元,经由它们连接不同的模块,完成数据的传输或处理SPI:高速同步串行口。3~4线接口,收发独立、可同步进行 UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢 I2C:一种串行传输方式,三线制,网上可找到其通信协议和用法的 3根线实现数据双向传输 串行外围接口 Serial peripheral interface U

2016-09-01 23:25:35 8738

转载 USB HID 设备类协议入门

原文链接:http://www.baiheee.com/Documents/090522/090522165226.htm一、应用场合  USB HID类是比较大的一个类,HID类设备属于人机交互操作的设备。用于控制计算机操作的一些方面,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球、电话拨号设备、VCR遥控等等设备。另外,使用HID设备的一个好处就是,操作系统自带

2016-09-01 23:03:42 4125

原创 解决动态调用其他APK中的类so加载失败问题

在一个APK中去加载并调用另一个已安装的APK中类,为了方便描述,调用的APK成为主A,被调用的的B,B中的类需要加载so,B独立运行时so能加载成功,但由A加载调用B时会提示so加载失败,进一步分析是在loadLibrary的时候so查找路径为空,而B自己独立运行时查找路径会包括/data/data/B包名/lib,由此为突破口,发现使用PathLoader加载B中的类时可以传入libraryP

2016-08-26 15:51:02 2623 1

原创 反射调用对象的自定义接口

public interface MyInteface { public void func1(); public void func2();}import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class Reflect { public M

2016-08-22 23:05:23 1222

原创 分析网络包中的DNS协议

过滤DNS协议的包,如下图 抓包是为了分析访问某一服务慢的问题,通过对包的分析发现域名解析从开始请求到获取到IP地址花了近10s的时间,但同一网络的其他设备域名解析确很快,结果发现是该设备DNS查询类型为AAAA,即IPv6的地址,但访问的域名服务器查询不到IPv6地址,所以一直Fail,设备过了很长时间才发起IPv4请求,过滤规则: dns && ip.addr == 10.0.2.15

2016-08-18 15:57:56 1273

原创 Android设备抓包方法

1 在设备内抓包,例如使用tcpdump命令 2 通过代理的方式抓包,如果设备上没有tcpdump命令,可以让设备连到电脑的共享网络上,然后在电脑上抓包 3 通过设置交换机端口转发抓包,Android设备如果和电脑在同一个网络且在同一个交换机下面,则可以通过在交换机上设置端口转发来抓包,基本原理就是分别确定Android设备和电脑连接的交换机端口,然后设置经由Android设备对应端口的包全部转

2016-08-18 09:27:45 745

原创 数据库插入记录的两种方式

1 向数据库中插入记录,插入的列必须和表中的列数量一致 insert into tablename values(‘value1’,’value2’,’value3’….) 2 向数据库插入指定的列,未指定的列使用默认值,autoincrement得列自动加1 insert into tablename (column1,column2,column3…) values (value1,val

2016-08-14 23:32:10 9113

原创 Android zygote进程启动

Linux系统进程创建是通过复制和继承的方式,系统启动后会创建init进程,后面所有的进程都是通过init进程创建的,在Android系统上,最早被init进程创建的是zygote进程,zygote是受精卵的意思,意即为最原始的最初的进程,后面的用户进程都是通过zygote创建出来的,zygote进程是通过启动在init.rc中指定,service zygote /system/bin/app_pr

2016-07-28 16:55:56 374

原创 图标设计

自己在开发一些App的时候,局限于不会PS,很多图标都是从easyicon上找的,周末打算自己动手尝试用PS为之前做的app做一款新图标,先晒成果: 做这个图标主要用到了PS的形状合并功能,因为要把一个圆角矩形切成三部分,打算先画一个圆角矩形,然后在这个圆角矩形的基础上用其它形状去切割出想要的部分。 1 首先将网格线显示出来方便截取位置的判断,显示网格线的方法如下: 2 新建一个矩形用来截

2016-07-24 22:54:05 466

原创 IDE工具的逻辑结构

习惯了使用eclipse写代码,在初学ios开发使用Xcode的时候,有点摸不到头脑,各种按钮选项完全不知道怎么用,后来转变了思路,发现每一种IDE在设计上都是一种树形的层次结构,以xcode为例在最左侧的工程资源窗口,选中一个任意类型的文件,中间的部分就会根据左侧选中的内容进行变化,同样在选中中间部分的某个选项最右侧也会跟着改变,联想到photoshop,其实也是这种设计思路,photoshop中

2016-07-17 09:19:39 467

原创 Git创建本地仓库

1 执行git init,创建git仓库 2 git add 要提交的代码 3 git commit -m “init”

2016-07-10 18:10:17 523

原创 JavaMail发送邮件AuthenticationFailedException异常解决

在使用JavaMail发送邮件时遇到一个问题,同样是163的邮箱,一个邮箱地址在transport.connect的时候没问题,另外一个一直报javax.mail.AuthenticationFailedException异常,确定用户名和密码是正确的,尝试把javax.mail.jar的版本从1.4更新到最新的1.5.5还是没有解决,通过接口: Session session = Session.

2016-07-07 15:15:26 6599

原创 本地代码推送到github的命令

1 git remote add origin https://github.com/xx/xx.git 2 git push -u origin master

2016-06-28 16:36:11 868

原创 Activity四种启动模式解析

每个安卓进程都会对应至少一个任务栈,任务栈是用来存放Activity的,Activity的切换对应的就是任务栈的进栈和出栈操作,安卓的Activity可以配置成4种启动模式,不同的模式有不同的进栈和出栈处理,能够实现不同的切换效果. 1 Standard,如果Activity没有特别声明启动方式,默认就是这种方式 这个模式每启动一次Activity都会生成一个新的Activity实例并被压入栈中

2016-06-21 16:08:02 363

原创 Ubuntu下配置make3.8.1

Ubunut16默认的make环境是4.1的,但编译android源码需要make3.8.1或3.8.2,下面介绍下配置并使用make3.8.1的方法1 下载make-3.81.tar.bz2 下载地址:http://ftp.gnu.org/gnu/make/2 解压 tar -xvf make-3.81.tar.bz23 编译 ./configure make4 配置 export PA

2016-06-06 10:59:45 9621

原创 Ubuntu下安装JDK1.6

1 通过apt-get install的方式是无法直接找到安装包的,无论是sun jdk还是openjdk,至少我的Ubuntu环境下确实找不到,于是打算从网上直接下载一个JDK安装包 下载安装包:jdk-6u30-linux-i586.bin 下载地址:http://download.csdn.net/download/xuechongjie/4604679 修改下载的文件权限为可执行,然后

2016-06-06 10:47:13 331

原创 使用开单引号对SQL语句中的表字段名转义

如果某个表中的字段名和SQL语句中的预留名字冲突,需要通过(开单引号)进行转义。 例如表中有个字段名为"from",则在使用from字段做为条件查询时,查询语句需要写成: select * from table wherefrom` = xxx

2016-05-23 14:31:43 2365

原创 以太网和PPPOE网络下MTU和MSS的关系

MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segment Size 最大分段大小 PPPoE: PPP Over Ethernet(在以太网上承载PPP协议),就是因为这个协议的出现我们才有必要修改我们的MSS或者是MTU值。 一般的网络环境下,MTU为1500,MSS为1460 PPPoE的网络环境下,MTU为1492,M

2016-05-19 15:11:24 8014

原创 Lua local function与function区别

1 使用function声明的函数为全局函数,在被引用时可以不会因为声明的顺序而找不到 2 使用local function声明的函数为局部函数,在引用的时候必须要在声明的函数后面例子: 下面这段代码会报函数找不到的错误:lua: test.lua:3: attempt to call global ‘test1’ (a nil value)function test() test2(

2016-04-21 15:39:36 15542 2

原创 Lua语法

1 函数的定义顺序没有严格限制,可以在先定义的函数中调用后面定义的函数 2 函数可以不加返回类型,即使函数有返回值 3 函数的定义以end结束,不需要用大括号表示开始和结束

2016-04-12 14:12:50 355

原创 Lua动态list

local mytable = {}mytable[0] = "hello"mytable[1] = "lua"mytable[2] = "!"for i=0,#mytable do print(mytable[i])end

2016-04-12 14:12:08 1844

原创 CSS引用方式

html中的标签通过id或class属性和css中定义的样式进行关联,id对应的样式表以”#”开头,class对应的样式表以”.”开头,body属于特殊的,不以任何符号开头,也可以在控件内直接使用样式表.<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head> <meta charset="utf-

2016-04-07 11:13:28 406

原创 Java字符编码

1 英文字符编码在GBK,UTF-8中表现是一致的 2 中文字符GBK编码、UTF-8编码调用String.length()返回的长度是一致的,都是中文字符的个数,但getbyte()的结果不通,GBK每个中文字符占两个字节,UTF-8每个中文字符占三个字节

2016-04-05 15:47:30 340

转载 block,inline和inline-block概念和区别

总体概念block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素)。block元素通常被现实为独立的一块,会单独换一行;inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满。 大体来说HTML元素各有其自身的布局级别(block元素还是inline元素

2016-04-03 22:20:31 426

原创 使用tcpdump在android设备上抓包

1 Android设备抓包命令 adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap2 WireShark过滤包命令: ip.src == 10.0.0.34 && http.request.method

2016-03-14 10:27:47 1026

原创 修改Android系统目录的读写权限命令

1 mount -o remount,rw /system 有的系统必须要remount/system这个目录才能成功

2016-03-14 10:17:36 3901

原创 自定义可滑动导航栏

package my.navilayout;import android.content.Context;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Rect;import android.graphics.drawable.BitmapDrawabl

2016-03-10 16:44:43 705

Android贝塞尔曲线

Android贝塞尔曲线

2016-09-12

动态调用其他Apk中的类so加载失败问题测试工程

动态调用其他Apk中的类so加载失败问题测试工程

2016-08-26

可滑动导航栏

可滑动导航栏

2016-03-10

C++类变量声明

C++类变量声明,验证与java类声明不同的Demo

2015-12-04

C++打印中文字符

C++打印中文字符,宽字符转换,避免中文打印乱码问题

2015-12-04

cocos2d-x游戏源码

Cocos2d-x游戏源码,LazyGame在自己电脑上成功运行的源码

2015-10-23

自定义布局通知栏

android自定义布局通知栏,通过通知栏按钮跳转到特定的activity

2015-09-14

Android Listview异步加载图片

Android Listview异步加载图片,图片错位解决方案

2014-12-21

winpcap程序员开发包4.0版本

winpcap程序员开发包4.0版本,配合vc++6.0和vs.net进行windows下的编程开发

2010-04-20

Thinking in embedded(嵌入式编程思想).chm

Thinking in embedded(嵌入式编程思想).chm

2009-02-06

《C_C++嵌入式系统编程》英文版.chm

《C_C++嵌入式系统编程》英文版.chm

2009-02-06

嵌入式系统开发入门课件

嵌入式系统入门的课件,里面是一些分章节介绍的幻灯片,不错的!

2008-10-06

留言版系统

jsp开发的简单留言版

2008-05-06

空空如也

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

TA关注的人

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