自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 define的几种情况

define的两种情况:1)只是定义一个变量,不赋任何值,只是一个开关的作用。                             2)赋予变量一个值,但是不能用等号                              3)赋予宏变量另一个宏,但是不能用用#if DEF_EQUAL_VALUE==10 或#if DEF_EQUAL_VALUE 来判断, 而只能 #if defined DEF_EQUAL_VALUE               错误的情况: 用等号 会出错 // de

2010-11-30 10:01:00 1171

原创 基于CC2430/31的Zigbee实践(5)--结构体指针减1问题

1、关于结构体 –1 访问问题    #define OSAL_MSG_ID(msg_ptr)      ((osal_msg_hdr_t *) (msg_ptr) - 1)->dest_id    为什么要-1呢?It's a question.    byte OnBoard_SendKeys( byte keys, byte state )调用下面函数    byte osal_msg_send( byte destination_task, byte *msg_ptr

2010-11-29 12:18:00 1383

原创 大胜凭德--入行选领导(转载分析)

       入行后要跟个好领导好老师,刚进社会的人做事情往往没有经验,需要有人言传身教。对于一个人的发展来说,一个好领导是非常重要的。所谓“好”的标准,不是他让你少干活多拿钱,而是以下三个。       首先,好领导要有宽广的心胸,如果一个领导每天都会发脾气,那几乎可以肯定他不是个心胸宽广的人,能发脾气的时候却不发脾气的领导,多半是非常厉害的领导。中国人当领导最大的毛病是容忍不了能力比自己强的人,所以常常可以看到的一个现象是,领导很有能力,手下一群庸才或者手下一群闲人。如果看到这样的环境,还是不要去的好。

2010-11-27 23:52:00 803

原创 唐吉可德 的精神--平凡人的不平凡世界

     一如既往的专注,一腔热血的执着。在权利或势力强大的人面前,一副不屈不饶,不折不扣的强人风范。虽然力单势薄,能力有限,依然敢于承担,敢于面对,敢于挑战。这是怎样一种精神?当下的社会缺乏这种精神,很多有能耐的人都缺乏这种勇气,而有勇气的人缺乏这种能耐,当稍微有点能耐再加上这些勇气便成就了一番事业。      社会确实是因为势而产生名,有些并不是 唐吉可德所能为,但是机缘巧合,再加上舆论造化,便成就了名人。这使我想起了前段时间的唐骏事件,唐骏确实有些能耐,但更重要的是他造就了势而成就了名,借助Micro

2010-11-27 11:11:00 2000

原创 基于CC2430/31的Zigbee实践(4)—TI Z-Stack

    在TI-ZStack软件架构下,一般只需要添加3个文件来完成项目:主文件(存放具体的任务事件处理函数)、主文件的头文件、操作系统接口文件(Osal开头,专门存放任务处理函数数组taskArr[])。     对于SampApp工程,主文件是:SampleApp.c,主文件的头文件SampleApp.h操作系统接口文件Osal_SampleApp.c     ZDO_NV_RESTORE在调试的时候一般把它关了,一般情况下都需要#define的。     在开发中涉及的模块,也就

2010-11-25 11:34:00 1038

原创 基于CC2430/31的Zigbee实践(3)--

零、注意:      一方面switch ( MSGpkt->hdr.event )      另一方面:SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );      afIncomingMSGPacket_t *MSGpkt; 转为(keyChange_t *)MSGpkt,而且还要用到switch ( MSGpkt->hdr.event ),那么他们的前面

2010-11-24 22:21:00 1926

原创 基于CC2430/31的Zigbee实践(2)--zmain函数流程 及分频问题等

CC2430中的两个USART都支持UART(异步) 或SPI(同步)模式【所以称作USART】,模式可选。 C51RF-3CS系统是Demo Board,不是Evaluation Board,所以在工程编译选项的时候选DB而不选EB。 一、ZigBee2006协议栈演示实验的SampleApp工程 1)main函数流程      osal_int_disable( INTS_ALL );关闭所有中断,以方便初始化      HAL_BOARD_INIT();//这是一个宏。初始化

2010-11-23 22:25:00 1658 1

原创 Zigbee的 节点间交互机制

Zigbee的帧格式如下: 在帧头,有Frame Control控制域(2个字节)。   Frame Control控制域的前3位 为Frame Type(帧的类型) 帧的类型分为:信标\数据\应答\Mac 命令。     在这个每个帧类型中可以扩展我们的应用,如果需要扩展命令,可以在Mac Command命令中的Reserved域添加自己的应用。(其实这些已经够用了)。

2010-11-22 21:27:00 1038

原创 2010年11月21日微软实习生笔试题--反序对 数目求解

题目大意:输入n个正整数(rightchild!=NULL)  //注意是if,不是while,因为已经递归的计算了 {     return CaculateReversePairs(pTree->rightchild);//右子树,不能加1 } 不需要加1,当时可能没哟加1,但是印象中又好像加了,这一点非常重要。 #ifndef REVERSE_PAIRS_H #define REVERSE_PAIRS_H template struct

2010-11-22 19:24:00 1755 13

原创 重温 汉诺塔 问题

<br />零、汉诺塔问题<br />     在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。 <br />     

2010-11-19 21:29:00 1483

原创 基于CC2430/31的Zigbee实践(1)

零、感想       CC2430是一个片上系统,集成了IEEE 802.15.4的Zigbee标准网络,。在这个网络中包含终端、协调器、路由器。协调器和路由器有点类似但不相同,协调器不负责网络的路由只负责网络的建立,而路由器主要负责网络的路由。        涉及的关键是网络的建立与绑定,数据的收发。当数据来时,如果该片子没有休眠且接收数据中断未屏蔽,则产生收数据中断,片子系统接收数据并从RXFIFO中读数据。同理,发送数据,当有数据写入TXFIFO则产生发送数据中断。值得注意的是OTA绑定(直

2010-11-18 23:09:00 1328

原创 《深入理解Linux内核》--第七章:进程调度:读书笔记

零、感想       进程调度涉及的 priority、进程的状态(TASK_RUNNING、TASK_INTERRUPT、TASK_UNINTERRUPT、TASK_STOPPED)。Linux系统有个PID为0的进程——swapper进程(只有在CPU不能执行其他进程才执行)。        在多处理器系统中涉及 调度域,比较值得注意的是Intel的超线程技术(包括几个内部寄存器的拷贝,当前线程在访问内存的间隙时,处理器可以使用它的机器周期去执行另一个线程),因为超线程技术,引入了逻辑CP

2010-11-17 20:35:00 1772

原创 归并排序--MergeSort

归并排序思想:递归地将排序的链表从中间分开,前半部分排好序,后半部分排好序,然后将这排好的两部分归并为一个有序数组。 程序划分:1)对外提供一个接口,即MergeSort();函数调用递归处理函数进行处理并排序                2)MSort()函数对输入链表进行递归排序,递归终止条件是当前无法再分半(即前面指针和后面指针指向同一个地方),需要一个临时数组变量TR2来存放排序后的数据。 在排完序后调用Merge()进行归并。                3)Merge()将两

2010-11-16 21:09:00 682

原创 《深入理解Linux内核》--第六章 定时测量:读书笔记

感想:1)linux内核给用户很多选择选项,为了兼容不同的硬件提供了多种选项,硬件定时器(HPET、TSC),软件定时器。         2)注意处理竞争条件(在多核情况下,会引入在单核情况下不存在的竞争条件,例如,定时器函数在【被删除函数】终止时可能在其他CPU上运行【和删除函数不在一个CPU上】,del_timer_sync()删除指定的定时器后,需要检查定时函数是否还在其他CPU上运行,如果是,则需要等到定时器函数结束) 。       3)在体系结构中分为 全局时钟 和 CPU本地时钟

2010-11-15 22:02:00 1500

原创 《深入理解Linux内核》--第五章 内核同步:读书笔记

同步:识别出异常处理、中断处理、可延迟函数、内核线程中的临界区,采用适当的保护措施,以确保在任意时刻只有一个内核控制路径处于临界区。       如果是但CPU系统,可以采取访问共享数据结构时关闭中断的方式实现临界区,因为只有在开中断的情况下,才能发生内核控制路径的嵌套。       但是在多处理器系统中,许多CPU可能同时执行内核路径,不能假设只要禁止内核抢占功能,而且中断、异常和软中断处理程序都没有访问过该数据结构,就能保证这个数据结构能够安全地访问。 一、内核抢占 内核抢占:如果进程执

2010-11-12 23:34:00 868

原创 选择排序(三)--堆排序

一、堆排序思想 (要和shell排序区别)    堆,是一棵完全二叉树,(完全二叉树概念:只有最后两层可以是业界点,而且最底层的叶节点都在左侧,图在上一篇日志上有)    堆可以用数组来描述,在排序中强调的是 大根堆(最大值在树根),将大根堆的的根部值 和 无序数组的最后一个数交换,然后重新排序新的无序堆为 大根堆。       具体排序思想:将待排序区分为无序区和有序区,无序区在前,有序区在后。未排序前无序区为整个待排序区间,没有有序区。      排序的过程是,不断

2010-11-11 15:12:00 904

原创 选择排序(二)--树形选择排序

利用满二叉树的性质,思想:将输入的数据存放到满二叉树的叶节点,通过比较树中剩余可用节点(从底层的叶节点开始)的大小,每次选择最小的数值(比较复制到二叉树的顶端),并且把最小数值赋给排序数组的前端,把最小数值原来叶节点的位置设置为不可用;依次循环直至最后一个可用叶节点。 一、满二叉树和完全二叉树区别如图: 二、程序讲解:   template class TreeNode{ public:     T data;     int index;     int

2010-11-10 22:52:00 5094

原创 《深入理解Linux内核》--第四章 中断和异常:读书笔记

      同步中断:只有在一条指令终止执行后CPU才会发出中断;        异步中断:由其它硬件设备依照CPU时钟信号随机产生的中断。       一般中断是指 异步中断。异常: 同步中断。      中断处理与进程切换的区别:中断或异常处理程序执行的代码不是一个进程,它是一个内核控制内经,代表中断发生时正在运行的进程执行。作为一个内核控制路径,中断处理程序比一个进程要“轻”。(没有进程要求那么多资源) 一、中断       分为:1)可屏蔽中断(maskable Inter

2010-11-09 22:28:00 1489

原创 《深入理解Linux内核》--第三章 进程:读书笔记

   最大体会关注的是进程的权限、父进程子进程的关系、进程与线程的关系 以及 进程线程的生命周期。 一、进程、轻量级进程,线程      进程拥有自己独立空间。      轻量级进程:两个轻量级进程基本上可以共享一些资源,诸如地址空间、打开的文件等。(之所以说轻量级,就是说偏向线程,可以共享一些资源,但是又不是完全的线程。)      线程,内核看做是简单的进程。      为什么要轻量级进程而非线程,例子:象棋程序的控制图像化棋盘部分、思考下一步移动的思考部分。两部分如果

2010-11-08 23:06:00 889

原创 《 深入理解Linux内核》——第二章 内存寻址:读书笔记

      内存寻址主要任务:将逻辑地址转换为物理地址。            逻辑地址---通过分段单元--》线性地址----通过分页单元---》物理地址      注意三个方面:分段、分页、TLB。(都是基于保护模式)      Intel微处理器两种不同方式进行地址转换:实模式(real mode){用于开机加载时,兼容早期模型}、保护模式(protected model)。       分段和分页在某种程度上是有点多余。区别:分段可以给每一个进程分配不同的线性地址空间;分页可以

2010-11-07 22:32:00 626

原创 浮躁的人分两种:只观望而不学的人;只学而不坚持的人。

rt

2010-11-05 23:30:00 638

原创 北斗无源授时接收机GEO卫星星历求解算法

      这篇论文的关键是将“拉格朗日插值法”改为“切比雪夫多项式拟合算法”。 一、拉格朗日插值法       拉格朗日差值法保证了几乎所有的点都通过一条直线,通过之前的大量采样点进行比对算出当前时刻点值。           该算法的最大不足是当观测采样点需要增加或减少时,原的公式必须重新建立,计算量大。 二、切比雪夫多项式拟合算法       利用余弦函数的性质进行拟合,允许一定的波动,采样点少时波动幅度大些,表现为波形的幅值大。         

2010-11-05 23:15:00 1378

原创 北斗一号卫星系统 及 一种授时系统

一、北斗一号     “北斗一号”卫星导航系统由两颗地球静止卫星(分别处于80E和140E)、一颗在轨备份卫星(110.5度)、、中心控制系统、标校系统和各类用户机等部分组成。北斗系统主要利用这两颗卫星作为地面 控制中心和用户之间无线电信号传输的中转站,测出无线电传播的两个时间延迟,从而测出用户到两 颗卫星的距离。这样地面控制中心就可以利用“三球交汇原理”(以两个卫星分别为球心的两个球和 地球 构成“三个球”)解算出用户位置,最后通过其中一颗卫星将结果送给用户。换种说法:根据两颗北斗卫星传输

2010-11-05 23:03:00 2346 2

原创 GPS 与 北斗 初步对比

一、脉冲        GPS每秒可获得一次卫星星历电文,秒脉冲的误差服从正态分布,锁住的可用卫星达到四颗以上时,授时脉冲的1精度在100 ns以内;当锁住的可用卫星少于四颗时,解算方程组的信息不够充分,授时精度将有所降低。         北斗星历电文的更新率1次/min,分脉冲的授时精度服从正态分布,授时脉冲的精度在100 ns以内,秒脉冲由授时卡根据星历信息再处理获得,精度在300 ns以内。(所以说没有直接的秒脉冲)。所以要的到稳定间隔的秒秒脉冲,则需要接收端有一个可靠稳定的守时模块。

2010-11-05 15:31:00 1597

原创 基于QT C++的网络缓冲区设计(一)——概括

缓冲区的关键是: 字符串数据 和  类型数据 之间的相互转换。比如将char *的数据的按1byte 1 byte的读入转化为bool、char、uint8、int16、uint16、int32(相当于int),uint32、int64(相当于long long);当然还有double。      网络缓冲区分为发送端 和 接收端。发送端将类型数据 转换为 字符串数据。 接收端将字符数据 转换为 类型数据。 一、发送端 #ifndef SMPEnplexer_H #define SMPEnplexer_H#

2010-11-04 22:43:00 1212

原创 GPS中的常见简写意义

Acronyms BIPM   Bureau des Poids et Mesures C/A-code   Coarse Acquisition Code CC             Composite Clock CDMA      Code Division Multiple Access DGPS      Differential GPS DoD      Department of Defense DOP      Dilution of Precisi

2010-11-03 22:10:00 925

原创 交换排序----冒泡排序 和 快速排序

      通过对比大小交换对比的元素所得到的排序为交换排序。冒牌排序时很常见的:通过对比相邻元素的大小如果前面的元素比后面的大,则交换两个元素,使得大的元素往后移。 一、冒泡排序 template void BubbleSort(SqList &L)       //1)冒泡排序 { #ifdef CHANGE_FLAG     bool changeFlag=false; #endif     T t;     for(int i=1;iL.key[

2010-11-03 17:11:00 523

原创 GPS初步

今天虽然头晕,还是看了点东西,算法的东西今天没整好~ 一、时间信息是关键。      GPS是通过时间信息来定位的,所以关键是原子钟要绝对可靠。GPST(GPS时间)是以原子钟来记时间的,各个参考点的位置已知,各个参考点在同一时间发送同一时钟信号,而接受端通过接受这些时钟信息,确定至少4个方程组(主要是通过各参考点的时间差来计算)联立求解得到空间立体位置信息。(所以时间信息是关键) 二、L1、L2载波,军民 和 仅仅军方   GPS信号分为L1载波,和L2载波。L1载波频率为1575.42MH

2010-11-02 22:02:00 1236

原创 【求职能力提升】外企笔试常见的智力题~~~

A.逻辑推理        1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段 ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费?    2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。    3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒, 小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每 次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且

2010-11-02 21:43:00 715

原创 选择排序1-简单选择排序

简单选择排序为选择排序的一种。简单选择排序的原理是,每次选择最小的数放在最前面{第一次得到第一个最小数(遍历了一次),第二次得到第二个最小数(从第二个数开始遍历,依次类推} template int SelectMinKey(SqList &L,int n) {     int min=n;     T minkey;     minkey=L.key[n];    //当前n为最小     for(int i=n+1;i vo

2010-11-01 22:14:00 726

原创 王师兄关于找工作的建议

     王师兄拿到好几个公司的offer了,悬着的心踏实下来了,今天讲述了关于找工作的心得体会。      “关于找工作,我给你的建议是:        重点瞄准几家公司(看看他们的职位要求)、还有就是复习数据结构、C++程序设计(最好自己能编个项目)、算法(主要还是把常用的算法研究明白)、操作系统、计算机网络(谢希仁版教材挺好)        复习这些基础课程时,最后做个简单的记录或概要,不然很容易忘的       C标准库里的string.h头文件里的函数多实践练习一下。

2010-11-01 21:11:00 646

jpegsrc8( 8 version)

Copyright (C) 1994-2009, Thomas G. Lane, Guido Vollbeding. This file is part of the Independent JPEG Group's software. For conditions of distribution and use, see the accompanying README file.

2010-01-18

空空如也

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

TA关注的人

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