- 博客(88)
- 资源 (2)
- 收藏
- 关注
原创 ZigBee ProfileID,DeviceID,ClusterID
ZigBee ProfileID,DeviceID,ClusterID The structure of a profileZigbee Public Profile IDs tableThere are two main types of profile IDsviz. public profile and manufacturer specific profile. The data tran...
2018-05-01 09:52:34 7681 3
转载 阻塞、非阻塞IO
阻塞与非阻塞是对于文件而言的,而不是指read、write等的属性。阻塞IO应用程序调用IO函数,导致应用程序阻塞,等待数据准备好。如果数据没有准备好,一直等待数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。读常规文件是不会阻塞的,不管读多少字节,read一定会在有限的时间内返回。一般网络、终端设备IO都是阻塞I/O。如果从终端输入的数据没有换行符,调用read读终端设备就会阻塞,如果网...
2018-04-24 15:23:32 766
原创 Shell 语句语法详解
Shell 语句语法详解shell里的if语句if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:if ... fi 语句;if ... else ... fi 语句;if ... elif ... else ... fi 语句。三种语句格式分别如下所示:#####################################if [ !...
2018-04-21 11:48:44 576
原创 Shell一维数组和二维数组
一维数组Shell下定义一维数组的形式是A=(element1 element2 element3 .... element4),然后依次按照A[0] 、A[1]…A[n]来分别读取数组里的内容。例如:array_name=(value0 value1 value2 value3)或者array_name=(value0value1value2value3)还可以单独定义数组的各个分量:array...
2018-04-21 11:48:08 4948
原创 shell脚本中函数的定义和使用
shell脚本中函数的定义和使用Bash(Bourne Again shell)跟其他编程语言一样也支持函数,一般在编写大型脚本中需要用到,它可以将Shell脚本程序划分成一个个功能相对独立的代码块,使代码的模块化更好,结构更加清晰,并可以有效地减少程序的代码量。但是bash作为一种解释性语言,bash 在编程能力方面提供的支持并不像其他编译性的语言(例如 C 语言)那样完善,执行效率也会低很多。...
2018-04-21 11:47:34 4953
原创 shell文本命令详解
shell脚本之间相互引用shell中可以通过source 或者 . 的方式可以引用另一个脚本中的函数或者变量;first.shfunction fun(){echo "i am from first."}file=firstsecond.sh. first.shfunecho $file这里的.和source都可以实现引用first文件中的变量。注意: 如果同时引用了多个脚本的同一个变量名的变量...
2018-04-21 11:46:48 380
原创 C++重载函数运算符和重载函数
摘要C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。 C++ 中的函数重载...
2018-04-21 11:38:15 1163
原创 C++模板
1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(intx,int y);{return(x>y)?x:y ;}//函数2.float max( float...
2018-04-21 11:37:40 235
原创 C++的多态
对象类型在引入多态之前,我们先来看一下对象类型 多态性的概念 多态一词最初来源于希腊语,意思是具有多种形式或形态的情形,在C++中是指同样的消息被不同类型的对象接收时导致不同的行为,这里讲的消息就是指对象的成员函数的调用,而不同的行为是指不同的实现。也就是调用了不同的函数。多态性从系统实现的角度来讲可以划分为两类:静态多态(也叫编译时多态性)和动态多态(又称运行时多态性),以前学过的函...
2018-04-21 11:36:04 1392
原创 C++的继承
摘要继承是c++语言一个重要的机制,该机制自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有的类中没有的成分来建立一个新类。继承解释 继承性是面向对象程序设计最重要的特征,可以说,不掌握继承就不等于掌握类和对象的精华,所以说继承是C++中很重要的一部分。 通过继承,我们可以用原来的数据类型来定义一个新的数据类型,定义的新类型既有原来数据中的成员,也能自己添加新的成员 ...
2018-04-21 11:34:04 253
原创 C++的封装
什么是封装?封装: 封装可以隐藏实现细节,使得代码模块化封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。在面向对象编程上可理解为:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 数据抽象数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于接口和实现分离的编程(设计)技...
2018-04-21 11:31:27 801
原创 C++概述
摘要我们知道C语言是面向过程的编程语言,而C++是面向对象(OPP)的编程语言。 面向对象是一种程序设计范型,也是一种程序开发的方法。而对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装在里面,以提高软件的重要性、灵活性和扩展性。 类(class)是C++中的特有的,形似于C语言中的结构体! 类有三大特性:封装、继承、多态 在一个类中,可以分为两种对象。分别是成员变量(数据)和成员函...
2018-04-21 11:30:55 247
转载 WIFI常用术语整理
WIFI常用术语整理 转至:http://blog.csdn.net/acs713/article/details/8740974#comments这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。 主要内容:一、基本概述二、实践基础三、一些原...
2018-02-25 21:00:36 4292
转载 802.11帧格式
一、802.11数据帧1、802.11数据帧的一般格式说明:2、数据帧各个字段说明:名称描述长度(字节)帧控制(Frame Control) 2持续时间(Duration ID)用来记载网络分配矢量(Network Allocation Vector,简称NAV)2目的地址最后的接收端,即负责将帧交付上层协议处理的工作站6源地址传送的来源6接收端地址负责处理该帧的无线工作站6顺序控制字段(Seq-...
2018-02-25 20:44:01 880
转载 WiFi基本知识
1. IE802.11简介标准号IEEE 802.11bIEEE 802.11aIEEE 802.11gIEEE 802.11n标准发布时间1999年9月1999年9月2003年6月2009年9月工作频率范围2.4-2.4835GHz5.150-5.350GHz5.475-5.725GHz5.725-5.850GHz2.4-2.4835GHz2.4-2.4835GHz5.150-5.850GHz非...
2018-02-25 20:41:15 704
原创 长字符串四则运算
/*********************************************************************/ main.cpp/*********************************************************************/#inclu
2017-12-30 21:53:26 467
原创 Sky Map
Sky MapYou are making “sky map” to draw constellation (set of starts) on the sky in the night. A constellation is compossed of stars and these stars are located in their upper, left, right and lower p
2016-07-30 10:54:10 826
原创 排序算法的时间复杂度和空间复杂度
排序算法的时间复杂度和空间复杂度常用的内部排序方法有:交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、插入排序(直接插入排序、希尔排序)、归并排序、基数排序(一关键字、多关键字)。一、冒泡排序:1.基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。2.排序过程:设
2016-07-30 10:47:38 585
原创 ZigBee网络离开机制
ZigBee网络离开机制ZigBee的网络离开机制主要分为如下两种:节点自己请求自己离网,并通知父节点和邻居节点;(Methodfor a Device to Initiate Its Own Removal from the Network)父节点发送离网请求要求子节点离网;(Methodfor a Device to Remo
2016-07-30 10:44:47 3466
原创 C语言异或运算
C语言异或运算位运算符家族中,最常用的,某过于异或运算符。异或运算符是指:参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0, 1^0=1, 0^1=1, 1^1=0 例如:10100001^00010001=101100000^0=0,0^1=1可理解为:0异或任何数,其结果=任何数1^0=1,1^1
2016-07-30 10:32:53 99742 5
原创 再见2015,你好2016
再见2015,你好2016一个人静静的坐了很久,望着夕阳西下的余晖,在回想着这过去一年里,那些人又走进了我的生活,那些人已经淡出了我的心窝,那些人在不经意间被遗忘,那些人一直在教我们成长;在想着该如何去和过去这一年所经历的所有挥手告别,风花雪月也好,醉诉肝肠也罢,醍醐灌顶也好,迷茫无知也罢,所有的经历,都将成为过去式,成为被尘封的记忆的一份子,或好或坏,都让我在跌跌撞撞中成为了现在的自己,懂得
2016-01-06 21:47:23 1009
原创 C语言字节对齐详解
C语言字节内存对齐程序在运行时会将数据临时存放在内存中,芯片内核需要对这些数据进行计算,不断的读取内存以获得数据,并将计算结果写入内存。计算机体系经过若干年的发展,最终确定了以8bits作为其基本的存储单元——byte(字节),这是每个地址所对应的最小访问单元,在C语言中对应一个char型的变量,但是我们常用的字节有8字节、16字节、32字节等,所以在某些情况下字节对其就显得很
2015-11-28 14:35:16 938
原创 Zigbee Bind Mechanism
ZigBee Bind MechanismBeforewe talk about the ZigBee bind mechanism, we should to know some terms
2015-11-28 14:12:13 1197
原创 1988-我想和这个世界谈谈
1988-我想和这个世界谈谈当我的生命里只能讲一个故事的时候,我愿将这个故事说出来,这个故事平淡无奇,平铺直叙,既没有曲折,也没有高潮,也就是寻找,相识,分开,就如同走在路上看见一盏红绿灯一样稀松平常,但若驻足,你会发现,它永远闪着黄灯。我就一直看着这盏信号灯,在灯下等了很久,始终不知道黄灯结束以后将要亮起的是红色还是绿色,一直等成了一个红绿色盲。(《1988》)1988,我想和这个世界谈
2015-10-27 23:17:08 1332
原创 Static关键字深度解析
Static关键字深度解析全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义
2015-10-26 16:05:23 656
原创 ZigBee协议栈常用术语汇总
ZigBee术语以下介绍关于zigbee术语,其中绑定和寻址较为重要一、属性属性Attribute是一个反映物理数量或状态的数据值,比如开关值(On/Off) ,温度值、百分比等。二、群集群集Cluster是包含一个或多个属性(attribute)的群组。简单的说,群集就是属性的集合。每个群集都被分配一个唯一的群集ID且每个群集最多有65536个
2015-10-23 09:48:13 1563
转载 快速排序
高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数
2015-08-24 22:03:14 678
原创 Find Cycle
Find CycleA graph is a type of data structure that consists of nodes and edges that connect the nodes. An edge has a start node and end node, and we will only consider directed edges.The figure
2015-08-24 22:02:05 1153
原创 归并排序
归并排序归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并过程为:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k]中,并令
2015-08-24 21:59:39 869
原创 Picking up Jewels
Picking up JewelsThere is a maze that has one entrance and one exit. Jewels are placed in passages of the maze. You want to pick up the jewels after getting into the maze through the entra
2015-08-24 21:58:21 1807
原创 Taekwondo
TaekwondoThere are an individual match and group match in Taekwondo. An individual match is between two players and a group match is repetition of matches between two different individual players
2015-08-24 21:57:03 1179
原创 wince系统中对nand坏块的修正
wince系统中对nand坏块的修正产生坏块的原因是因为NANDFlash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,所以,在NAND的生产中及使用过程中会产生坏块。一、坏块的具体表现: 当编程/擦除这个块时,不能将某些位拉高,这会造成Page Program和Block Erase操作时的错误,相应地反映到Status Register的
2015-08-17 22:10:54 1175
原创 Multiplying Two Numbers
Multiplying Two NumbersTwo positive integers are given. You create numbers by multiplying these numbers.For example, assume that 4 and 20 are given. When you list numbers you can create in order
2015-08-17 20:53:30 845
转载 高快省的排序算法
高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放
2015-08-17 20:50:57 605
原创 2015生活中的点滴随想
发现自己最近拖延症又开始严重了,本来是计划2015年年中写的,断断续续拖拉了将近一个月了,计划了晚上回来看算法导论和听VOA的,结果进展还是缓慢,唯一比较欣慰的是,计划今年看的十本书,现在也看了六本多了,呼呼,还得加把劲。 算起来回到西安已经快半年了,这段时间总体来说过的还好,偶尔和朋友聊天,说起从北京回西安最大的感触,除了精神上的舒适之外,还有很大一部分心理上的落差。首先回来之后
2015-07-27 23:00:54 914
转载 Contiki Timers 详解
TimersContiki系统提供了一套时钟库用于应用程序和系统本身。时钟库包含了检查时间超出、将系统从低功耗模式唤醒到预定时间,以及实时任务安排等功能。时钟也用于应用程序,让系统和其他一起工作,或者在恢复执行前进入低功耗模式一段时间。The Contiki Timer ModulesContiki 有一个时钟模块和一套时钟:timer,stimer,ctimer,etimer和rti
2015-06-01 17:41:32 2596
原创 contiki系统分析:时钟
contiki系统分析:时钟 contiki系统提供了一系列的时钟库,可以供contiki系统或者用户态的程序调用. 时钟库包括时钟到期检查.在调度时钟时低功耗的模块被唤醒,实时的任务调度. 定时器也可以让执行具体的事情过程中进入休眼状态.contiki的定时器的种类 contiki包抱一个时钟模块,但是有多个时钟模型:timer, stimer, ctimer, et
2015-06-01 15:21:38 1823
转载 物联网+ZigBee系统知识简介
什么叫物联网?物联网是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。英文名为Internet of things(IOT)。什么叫无线传感网络?无线传感网络是大规模,无线、自组织、多跳、无分区、无基础设施支持的网络.其中的节点是同构的、
2015-06-01 11:44:56 3057
原创 FreakZ学习笔记:路由应答机制
FreakZ学习笔记:路由应答机制路由应答机制是建立在路由发现和路由请求完成之后进行的,换句话说就是在通信链路建立完成之后,帧信息被传输到目的节点时,由目的节点进行的应答机制;路由应答机制在NWK.c下的mac_data_ind函数被调用,该函数的功能在另一篇文章《FreakZ学习笔记:接收过程详解》中有解释,这里不再赘述;相应代码如下:switch (cmd.cmd_frm_id)
2015-06-01 09:21:05 1706 1
原创 FreakZ学习笔记:路由发现机制
路由发现机制路由发现机制只有在发送通信包的过程中会被调用,而接收过程因为发送时候已经进行了通信链路的扫描和连接,所以不会再进行路由发现机制。 路由的所有处理机制都是在NWK层进行的,当然,路由发现机制也一样。当协议栈进行数据发送时,会依次按照APP->APS->NWK->MAC->PHY->Radio的层次关系来进行,APS层执行完成之后,会跳转到NWK层的nwk_data
2015-05-30 15:25:51 2714
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人