自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (4)
  • 收藏
  • 关注

原创 技术猿、攻城狮日常必知

采样定理又称奈奎斯特定理。在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息。一般实际应用中保证采样频率为信号最高频率的2.56~4倍。

2016-11-07 10:57:55 622

原创 Qt5编程——excel操作

方法一: //创建QODBC数据库(excel文件) QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","excelexport"); QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE

2016-09-26 19:58:53 5453

原创 Qt5编程——word操作

QDir dir; QString srcPath, dstPath; //新建一个word应用程序,并设置为不可见 QAxWidget *word = new QAxWidget("Word.Application"); word->setProperty("Visible", false); //获取所有的工作文档 QAxObject *documents = new QAxOb

2016-09-26 19:28:51 7290 6

原创 S5PV210地址映射

32位宽,寻址能力为4G,0x0000 0000~0xFFFF FFFF。映射如下:

2016-08-18 16:36:25 768

原创 使用ubuntu过程遇到的问题及解决方法

1.安装软件失败原因:当前系统正在更新软件解决方法:等待更新完毕再安装即可2.

2016-08-16 21:58:51 627

原创 SPI(Serial Peripheral Interface)串行外设接口

SPI是一种高速、全双工、同步的通信总线。SPI主设备负责产生系统时钟,并决定整个SPI网络的通信速率。所有的SPI设各都采用相同的接口方式,可以通过调整处理器内部寄存器改变时钟的极性和相位。由于SPI器件并不一定遵循同一标准,比如EEPROM、DAC、ADC、实时时钟及温度传感器等器件的SPI接口的时序都有所不同,为了能够满足不同的接口需要,采用时钟的极性和相位可配就能够调整SPi的通信

2016-08-11 12:00:49 4508

原创 蓝牙学习之旅——低功耗蓝牙BLE基础

(一)BLE与蓝牙4.0的区别蓝牙4.0实际是个三位一体的蓝牙技术,它将三种规格合而为一,分别是传统蓝牙、低功耗蓝牙和高速蓝牙技术,这三个规格可以组合或者单独使用。(二)BLE的体系结构(三)BLE设备链路层状态(四)信道频率/MHz信道编号类型240237广播信道2404~24240-10

2016-08-05 17:05:02 8603 2

原创 蓝牙学习之旅——低功耗蓝牙之数据报文

见协议P2589,BLUETOOTH SPECIFICATION Version 4.2 [Vol 6,Part B],Section2.4

2016-07-21 11:40:08 4902

原创 蓝牙学习之旅——低功耗蓝牙之链路层Link Layer

见协议P2568,BLUETOOTH SPECIFICATION Version 4.2 [Vol 6, Part B]

2016-07-08 17:57:25 3470 2

原创 蓝牙学习之旅——低功耗蓝牙之物理层Physical Layer

1.频带2.发送功率注:Power in dBm = 10*log(Power in milliwatts)

2016-07-08 16:21:52 4056

原创 蓝牙学习之旅——低功耗蓝牙之广播报文CONNECT_REQ

(一)CONNECT_REQ净荷如下:InitA(Initiator Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。AdvA(Advertiser Address)域是public(RxAdd=0)还是random(RxAdd=1)由净荷头中RxAdd域决定。(二)

2016-03-28 21:25:59 3808

原创 蓝牙学习之旅——低功耗蓝牙之广播报文SCAN_RSP

(一)SCAN_RSP净荷如下:AdvA(Advertiser Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。ScanRspData域包含所有Advertiser‘s Host发出的数据。(二)上图是一个完整的SCAN_RSP报文,被解析后如下图所示

2016-03-28 20:44:09 4683

原创 蓝牙学习之旅——低功耗蓝牙之广播报文SCAN_REQ

(一)SCAN_REQ净荷如下:ScanA(Scanner Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。AdvA(Advertiser Address)域是public(RxAdd=0)还是random(RxAdd=1)由净荷头中RxAdd域决定。(二)

2016-03-28 20:14:30 3513

原创 蓝牙学习之旅——低功耗蓝牙之广播报文ADV_DIRECT_IND

(一)ADV_DIRECT_IND净荷如下:AdvA(Advertiser Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。InitA(Initiator Address)域是public(RxAdd=0)还是random(RxAdd=1)由净荷头中RxAdd域决定。(二)上图是

2016-03-11 17:54:20 4372

原创 蓝牙学习之旅——低功耗蓝牙之广播报文ADV_IND

上图是一个完整的ADV_IND报文,被解析后如下图所示(1)前导Preamble:0xaa(2)接入地址Access Address:0x8e89bed6(广播报文的接入地址是固定的)(3)净荷PDU①PDU Type:ADV_IND,占4比特②Advertiser Address Type:public,占1

2016-03-10 20:09:35 6140

原创 蓝牙学习之旅——低功耗蓝牙之报文(广播报文&数据报文)

1.低功耗蓝牙规范中,有两类报文:广播报文和数据报文。(1)设备利用广播报文发现、连接其它设备。一旦连接建立之后,则开始使用数据报文。(2)低功耗蓝牙规定了3个广播信道和37个数据信道。2.无论是广播报文还是数据报文,链路层只使用一种数据包格式:注:报文是一比特一比特传输的,且从最低位开始。(1)Preamble前导报文最开始的8bits是01010101或

2016-01-29 16:53:16 12868

原创 蓝牙学习之旅——低功耗蓝牙之频带和通道

Bluetooth Low Energy,简称BLE1.低功耗蓝牙工作在2.4GHz ISM频段,范围是2400-2483.5MHz。整个频段分为40个通道,编号从0至39,每个通道宽为2MHz2.发送功率最小为0.01mW(-20 dBm),最大为10mW(+10 dBm)3.低功耗蓝牙采用高斯频移键控(GFSK)的调试方式

2016-01-25 18:09:06 2571

原创 蓝牙学习之旅——图解连接的建立过程

A与B连接的建立过程如下图所示:1. A开始查询周围设备,此时B应处于查询扫描状态;2. B收到A发来的ID包后进入查询响应状态,同时返回FHS包;3. A开始呼叫B,此时B应处于寻呼扫描状态,;4. B进入从响应状态,同时发送ID包;5. A进入主响应状态,同时返回FHS包;6. A、B进入连接状态,进行数据交互。这就是蓝牙设备建立连接的一个宏观过程,具体细节还得看协

2016-01-22 17:01:04 4936

原创 蓝牙学习之旅——专业术语简述

对于没接触过蓝牙的我来说,一上来一头雾水,各种术语听到完全云里雾里。学习一段时间后,弄清了一些概念,赶紧做笔记。1. page 寻呼发起连接的蓝牙设备向被连接的蓝牙设备发起连接请求或者认证请求,即是一次page动作。page动作。2. page scan 寻呼扫描蓝牙设备开启page scan模式,才能响应其它蓝牙设备的连接请求。3. inquiry查询蓝牙设备

2016-01-21 18:06:55 1370

原创 全局变量值交换,swap函数参数要用指针

#include int a = 10;int b = 88;void swap1(int a, int b){ int t; t = a; a = b; b = t;}void swap2(int *a, int *b){ int t; t = *a; *a = *b; *b = t;}int main(int argc, char *argv[]){

2014-05-21 18:50:44 1570

原创 【嵌入式Linux驱动开发】四、输入设备驱动

1. 输入设备概述像键盘、鼠标、等设备,属于输入设备

2014-04-22 19:29:36 846

原创 uboot学习

最近在学习嵌入式

2014-04-16 12:28:17 962

原创 Ubuntu操作和设置

1.        apt-get update (同步本地软件列表与APT站点)apt-get upgrade (升级现有到包)  apt-get install *** (安装软件包)

2014-04-14 19:49:51 498

原创 【嵌入式Linux驱动开发】三、字符设备驱动(二)

1. open函数int  open(struct  inode, );

2014-04-08 22:33:23 921

原创 【嵌入式Linux驱动开发】三、字符设备驱动(一)

基本步骤(1)确定主设备号和次设备号(2)实现字符驱动程序实现file_operations结构体;实现初始化函数,注册字符设备;实现销毁函数,释放字符设备;实现字符设备其他基本程序函数。(3)创建设备文件节点

2014-04-08 20:31:11 812

转载 【Linux2.6内核模块编程实例指导】内核模块编程之入门(二)必备知识

模块编程属于内核编程,因此,除了对内核相关知识有所了解外,还需要了解与模块相关的知识。1.应用程序与内核模块的比较为了加深对内核模块的了解,下表给出应用程序与内核模块程序的比较。 C语言应用程序内核模块程序使用函数Libc库内核函数运行空间用户空间内核空间

2014-04-04 10:57:54 608

原创 【嵌入式Linux驱动开发】二、模块

1. 内核模块的程序结构1)module_init() ——模块加载函数(必须)通过insmod或modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成模块的相关初始化工作2)module_exit() ——模块卸载函数(必须)当通过rmmod命令卸载某模块时,模块的卸载函数会自动被内核执行,完成与模块装载函数相反的功能3)MODULE_LIC

2014-04-01 22:18:15 699

原创 【嵌入式Linux驱动开发】一、简介

1. 分类(1)字符设备驱动(占驱动的绝大部分)像字节流一样存储的设备(如同文件),对它的读写是以字节为单位通常至少需要实现open、close、read和write等系统调用应用程序可以通过/dev下的文件系统结点来访问字符设备只能顺序访问的数据通道,不能前后移动访问指针(2)块设备驱动块设备上的数据以块的形式存储块设备驱动程序向用户层提供的接口与字符设备一样

2014-04-01 21:37:57 808

转载 【Linux2.6内核模块编程实例指导】内核模块编程之入门(一)话说模块

内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成在一起,但其缺点是可扩展性和可维护性相对较差,模块机制就是为了弥补这一缺陷。一、 什么是模块模块是具有

2014-03-28 09:34:36 766

原创 Linux内核体系架构

一、操作系统介绍一个完整的操作系统包括四个部分:硬件系统,操作系统内核,操作系统服务,用户应用程序。用户应用程序通过操作系统服务调用操作系统内核提供的接口函数,内核操作硬件。           二、操作系统内核介绍内核包含五个模块:文件系统,进程调度,进程间通信,内存管理,网络接口。1)文件系统:支持对外部设备的驱动和存储;2)进程调度:控制进程对CPU资

2014-03-26 23:20:06 720

原创 使用diff命令制作补丁、patch命令打补丁

diff命令常用来比较文件、目录,也可以用来制作补丁文件。所谓“补丁文件”就是“修改后的文件”与“原始文件”的差别。常用的选项如下:(1)“-u”:表示在比较结果中输出上下文中一些相同的行,这有利于人工定位。(2)“-r”:表示递归比较各个子目录下的文件。(3)“-N”:将不存在的文件当作空文件。(4)“-w”:忽略对空格的比较。(5)“-B”:忽略对空行的比较。

2014-03-20 23:10:16 1052

原创 tar命令使用方法

tar命令有5个常用的选项。(1)“c”:表示创建,生产文件包。(2)“x”:表示提取,从文件包中提取文件。(3)“z”:表示使用gzip方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩。(4)“j”:表示使用bzip2方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩。(5)“f”:表示文件,后面接着一个文件名。以几个例子说明tar命

2014-03-20 22:43:42 1574

原创 grep、find查找命令使用方法

在Linux下,常用grep命令列出含有某个字符串的文件,常用find命令查找匹配给定文件名的文件。1. grep命令    用法:grep  [options]  PATTERN  [FILE…]    以几个例子介绍它的常用格式。    (1)在内核目录下查找包含“request_irq”字样的文件。        $ cd  /home/eker/work/linux-2

2014-03-20 22:11:51 1012

原创 Ubuntu嵌入式开发环境搭建

1. 安装标准C开发环境,ubuntu默认是没有安装的。sudo apt-get install build-essential  //安装C库,build-essential软件包包含了需要的库文件sudo apt-get install valgrind  //安装调试组件valgrind(用来检查内存泄露的)sudo apt-get install gcc  //安装编译工具gc

2014-03-20 00:09:03 1066

原创 C语言编程常用宏定义

#pragma once    typedef unsigned long u32;  typedef unsigned short u16;  typedef unsigned char u8;  typedef signed long s32;  typedef signed short s16;  typedef signed char s8;    ty

2014-03-19 21:34:12 954

原创 arm-linux-gcc/ld/objcopy/objdump

1. arm-linux-gcc编译器,将源文件(.c和.S文件)编译成.o文件。例:arm-linux-gcc -ffreestanding -c source.c source.S  //编译.c和.S文件,生成对应的.o文件2. arm-linux-ld链接器,把.o文件链接成目标文件(a.out)。例:arm-linux-ld -Ttext=0x2000

2014-03-17 21:07:05 908

原创 C程序存储

1. text段:正文段,是可执行程序在存储空间的副本,CPU执行的机器指令部分。2. rodata段:只读数据段,字符串常量。3. data段:初始化数据段,已经初始化的全局变量和静态局部变量。4. bss段:未初始化数据段,初值为0或未初始化的全局变量和静态局部变量,不占硬盘空间。5.堆:由程序员分配、释放。如malloc

2014-03-12 00:18:13 665

原创 RS-485标准

一.介绍        电子工业协会(EIA)于 1983 年制订并发布 RS-485 标准,并经通讯工业协会(TIA)修订后命名为 TIA/EIA-485-A,习惯地称之为 RS-485 标准。        RS-485 标准是为弥补 RS-232 通信距离短、速率低等缺点而产生的。RS-485 标准只规定了平衡发送器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。

2014-03-11 23:07:33 3633

原创 RS-232标准

一.介绍        RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS(Recommended Standard)是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。        RS-232-C标准规定,驱动器允许有2

2014-03-11 22:31:41 2019

原创 解决"eker is not in the sudoers file"问题

1.切换到超级用户:su -2.更改/etc/sudoers权限:chmod u+w /etc/sudoers3.修改/etc/sudoers:vim /etc/sudoers在“root ALL=(ALL) ALL”一行下加入“eker ALL=(ALL) ALL”4.将/etc/sudoers权限复原:chmod u-w /etc/s

2014-03-09 23:55:08 573

Bluetooth Specification_V4.2

最新SIG蓝牙协议

2016-08-01

常用ARM指令集及汇编

常用ARM指令集及汇编,学习ARM嵌入式必学知识

2014-03-15

Cortex_A8手册

Cortex_A8 CPU官方手册,学习ARM嵌入式开发的人可以阅读阅读

2014-03-15

ARMv7架构手册

ARMv7架构官方手册,学习ARM嵌入式开发的人可以参考参考

2014-03-15

空空如也

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

TA关注的人

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