- 博客(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
原创 北斗无源授时接收机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)
2010-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人