- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 一张图说清楚进程和线程
如下图,多个线程在进程中:共享了进程的地址空间,共享了进程的状态和资源。例如进程的挂起操作,因为涉及地址空间换出内存,因此进程内部的所有线程均被挂起;对进程的用户栈、内核栈“切割”使用;
2017-04-18 22:12:05
554
原创 zigbee | Link Status命令
1. 命令简介: Link Status是由路由或协调器设备发出,用于交换路由设备之间的incoming link cost。命令特点:传输是一跳范围内的广播,不存在转发和重传。2. 核心数据: ember协议栈中,邻居表最多为16个,因此,我们在图中红色框体内,看到了Entry Count:0x10。同时,我们看到了邻居的短地址,以及最重要的数据 Outgoing Cost:发给对应邻居信
2017-04-18 18:56:04
3380
原创 zigbee | 应用程序如何节省RAM
概述本文将介绍zigbee应用程序中重要的参数与其对应的RAM开销,实际产品开发中,可根据芯片的RAM空间以及性能需求,对各个参数进行调整,已达到节约RAM的目的。重要参数/宏定义介绍列表汇总如下: 参数名称 默认值 占用RAM字节 EMBER_PACKET_BUFFER_COUNT 75 40 EMBER_NEIGHBOR_TABLE_SIZE 16 18 E
2017-04-13 11:54:53
971
原创 SourceInsight 工程移植
为了可以使SourceInsight工程在移植时(例如使用新电脑),可以直接使用,我们在设置每一个SourceInsight工程时,需要按照如下步骤:第一步:设置存储路径 在源程序路径外,添加SI工程文件夹,本例根路径是: ..\EmberZNet5.3.0-GA 其中,代码存储在..\EmberZNet5.3.0-GA\em35x SourceInsight工程文件存储在\EmberZNe
2017-04-12 10:43:24
639
原创 初识进程
什么是进程呢? 进程是操作系统“委派”的一段独立的代码段和相关数据的集合,用以调度资源,实现功能。打个比方 张三刚到上海新公司报到,结果第一天,北京的客户遇到了一个技术难题,于是张三被公司委派到北京客户那里去解决。此时,张三就是一个“进程”。北京客户产生了一个“中断”,系统调用张三前去,张三前往目的地北京,同时,公司领导李四要求张三必须在3天内解决问题,如果没解决,也必须返回北京。同时,李四
2017-04-11 22:47:30
212
原创 什么是操作系统?
什么是操作系统? 当硬件电路复杂时,存在着各种I/O、存储资源,如何以最低的成本,实现最高效的资源管理,就是操作系统要研究的问题,而这样的管理机制,就是操作系统。 操作系统的最终目的,是以进程的方式提供给用户更多、更安全的服务。操作系统需要对【进程】和【资源】进行管控,资源包括: (1)内存; (2)I/O; (3)文件;下图为Linux内核结构图: 从上图可以看出,操作系统
2017-04-10 22:52:40
550
原创 zigbee广播限制
在ZHA协议中,明确要求广播次数应该限制在9s内最多9次。同时,除了以下3点,并不推荐使用广播控制: 1. Discovery; 2. 控制group; 3. 调用scene;实际工程环境下,对150个Router节点进行了连续广播测试,为了避免节点上报时可能产生的Route Discovery命令(也是广播),在节点程序中设置了组播、广播不上报,单播上报的限制。(为什么会产生Route Di
2017-04-10 10:30:00
1755
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-03-22 12:46:50
159
转载 Zigbee | Beacon与功耗
Power and beaconsUltra-low power consumption is how ZigBee technology promotes a long lifetime for devices with nonrechargeable batteries. ZigBee networks are designed to conserve the power of the s
2015-11-04 11:06:47
1723
2
转载 Zigbee | 四种基本的frame类型
The four basic frame types defined in 802.15.4: Data, ACK, MAC command, and beaconThe data frame provides a payload of up to 104 bytes. The frame is numbered to ensure that all packets are tracked.
2015-11-04 10:40:45
1482
原创 Zigbee | Ember | 3种广播方式
EmberZnet3.1 存在以下3种广播方式: 1. EMBER_BROADCAST_ADDRESS(0xFFFC) 作用: 对ZC和ZR设备广播; 2. EMBER_RX_ON_WHEN_IDLE_BROADCAST_ADDRESS(0xFFFD) 作用:对于除了non-sleepy设备广播; 3.
2015-10-30 09:18:48
1231
翻译 zigbee | Ember | EPID和PID
区别: 1. EPID(Extended PAN ) 64bit, PID(PAN ID) 16bit; 2. EPID用来匹配网络,只有在EPID为0, PID才可用来匹配网络; 3. EPID只在少数场合使用,例如beacon,Network update, PID在大部分的802.15.4 frame中; 4. EPID作为验证网络并解
2015-10-24 16:07:52
1193
1
原创 Zigbee | Ember | polling 机制与协调器管理子节点
Ember Polling 子节点与父节点通过polling机制确保彼此在网络状态,子节点通过定期发送Data request来确保自己在线。而父节点则通过获取data request维护child table,否则,如果子节点意外离网又没有通知父节点,则子节点路由长期占有child table,影响其他设备加入网络。 ZED: 通过宏定义
2015-09-12 16:37:14
1847
1
翻译 Zigbee | Ember | 调用emberTick()的频率
标题的问题,也可以理解为,如何提高ember zigbee设备大规模组网的处理处理能力。 尽可能的调用emberTick函数,可以让协议栈保持良好时序,并和802.15.4 MAC兼容。至少,在每个while的周期内,应该调用该函数一次 如果当网络信息非常繁重的时候,尤其在接受端,该函数应该更多的被调用。理想情况是,当收到一个packet时,你应该在500ms内调
2015-08-29 12:24:04
1387
1
原创 C专家编程 读书笔记1
1. 早期的C 1972-3K&R C 1976-9ANSI C 1983-9 (ANSI美国国家标准化组织) 2. const的使用:const int limit = 10;const int *limitp = &limit;int i = 15;limitp = &i; printf("%d\n", *limitp);以上
2015-02-08 15:17:36
456
原创 C陷阱与缺陷 读书笔记
C陷阱与缺陷1. typedef用法:① 定义一种类型别名,而不是简单的宏替换:char *pa,pb;(注意:pb并没有定义为指针,虽然你可能想这么定义它)typedef char* PCHARPCHAR pa, pb;② 用在旧的C代码中,帮助struct。以前的代码中,声明struct新对象时,必须带上struct,即形式为:struc结构名对象名,如
2015-02-08 14:48:54
823
原创 自控力读书笔记 第九章 别读这章:“我不要”力量的局限性
1. 你可以想任何事情,但就是不要想白熊。。。这是一个实验,几乎没有人通过15min。对焦虑、沮丧、节食、上瘾的最新调查证实,把“我不要”的力量用在涉及思想,情感的内心世界,他就会失效。2. 压抑人的本能时,就会产生这种讽刺性的反弹效应。渴望留下好印象的求职者,总会说出让考官生厌的话;努力保持正确政治立场的发言者,总会道出心中令人不快的成见;甚至,在看同性恋色情电影时,最排斥同性恋的男人却勃起
2015-02-08 14:46:31
1076
原创 自控力读书笔记 第八章 传染:为什么意志力会传染?
1. 当你看到别人的行为和自己最大的目标发生冲突时,你的大脑就会处于高度警惕的状态。它会让你的主要目标更坚定,他还会寻找策略帮你坚守目标。心里雪茄把这叫做“反抗控制”。当你面对别人的目标时,增强免疫系统的最佳途径就是:在每天刚开始的时候花几分钟想想自己的目标,想想你会怎么收到诱惑,想要改变自己的目标。这就像疫苗一样,能保护你不受别人的感染。2. “社会认同”对支持行为调整的重要作用毋庸置疑,如
2015-02-08 14:45:14
1204
原创 自控力读书笔记 第七章 出售未来:及时享乐的经济学
1. 这是因为,前额皮质最擅长的不是自控,它会为错误的决定寻找借口,向我们承诺明天会更好。因此拥有巨大前额皮质的我们,会一再屈服于即可的满足感。 2. 当你收到诱惑要做与长期利益相悖的事时,请想象一下,这个选择就意味着,你为了即使的满足感放弃了更好的长期奖励;想象你已经得到了长期的奖励,想象未来的你正在享受自控的成果;然后扪心自问:你愿意放弃他,来换取正在诱惑你的短暂快感吗?3.
2015-02-08 14:41:58
1022
原创 自控力读书笔记 第六章 “那又如何”:情绪低落为何会使人屈服于诱惑?
1. 在研究压力、焦虑、罪恶感对自控力的影响时,我们发现,情绪低落会使人屈服。令人恐惧的吸烟警示会让烟民更渴望香烟,经济危机会让人更想购物。2. 最有效的解压方法:锻炼或参加体育活动、祈祷或参加宗教活动、阅读、听音乐、与家人朋友相处、按摩、外出散步、冥想或做瑜伽,以及培养有创意的爱好。最没效果的缓解压力的方法则包括:赌博、购物、抽烟、喝酒、暴饮暴食、玩游戏、上网、花两小时以上看电视或电影,。
2015-02-08 14:39:51
1529
原创 自控力读书笔记 第五章 大脑的弥天大谎:为什么我们误把渴望当幸福?
1. 当大脑发现获得奖励的机会时,它就释放出叫做多巴胺的神经递质。在过去几年中,神经科学家给多巴胺释放产生的效应起了很多名字,包括寻觅、希望、渴望、和欲望。但有一件事很清楚——这不是喜欢、满足、快乐或真正的奖励会带来的感觉。2. 一项研究发现,电子游戏的刺激和使用苯丙胺时产生的多巴胺一样多。正是这种多巴胺的增加使人们会对这两种东西上瘾。具有不确定性的“得分”和“升级”会让你的多巴胺神经元不停燃
2015-02-08 14:38:14
1417
原创 自控力读书笔记 第四章 容忍罪恶: 为何善行之后会有恶行
1. “道德许可效应”也许能解释为什么那些有明显道德标准的人能说服自己,认为出现严重的道德问题是合情合理的。大部分人在觉得自己品德高尚时,都不会质疑自己的冲动。“我已经这么好了,应该得到一点奖励,”这种对补偿的渴望常常使我们堕落。因为我们很容易认为,纵容自己就是对美德最好的奖励。我们忘记了自己真正的目标,向诱惑屈服了。2. 所以,如果你告诉自己,锻炼、存钱或戒烟是件正确的事情,而不是件能让你达
2015-02-08 14:35:59
965
原创 自控力读书笔记:第三章 累到无力抵抗:为什么自控力和肌肉一样有极限?
1. 因此每次使用意志力他都会有消耗,所以自控可能会导致失控。2. 意志力的肌肉模式告诉我们,自控力从早上到晚上会逐渐减弱。3. 重要的意志力规则:如果你觉得自己没有时间和精力去处理“我想要”做的事,那就把它安排在你意志力最强的时候做;4. 资源不足时,大脑会选择满足当下的需求;资源充足时,大脑则会转向选择长期的投资; 5. 意志力饮食方案:6. 训练意志力
2015-02-08 14:28:50
1496
原创 自控力读书笔记:第二章 意志力的本能:人生来就能地址奶酪蛋糕的诱惑
1. 科学研究发现,自控力不仅和心理有关,更和生理有关。只有在大脑和身体同时作用的瞬间,你才有力量克服冲动。2. 呼吸实现自控: 3. 保证睡眠在6个小时以上,也不要过度自控;
2015-02-08 14:24:10
708
原创 自控力读书笔记:第一章 我要做,我不要,我想要
1. 自知之明是自控的基础,意识到自己的自控力存在问题,则是自控的关键。提高自控力的最有效途径在于弄清自 己如何失控,为何失控;2. 想要做到自控,你就得在关键时刻明确自己的目标,这就是“我想要”的力量;3. 意志力就是驾驭“我要做”、“我不要”和“我想要”这三种力量。如果驾驭得好,它就能帮你实现目标,还能 让你少惹是非。4. 请至少选一天,
2015-02-08 14:18:31
1181
原创 代码大全 学习笔记
说明:这本书的确是好,以文字只能记录少许,作为大纲而已,具体的知识复习最好还是看原书,多看几遍,其义自见。 第10章1. 在声明变量的时候初始化(不是单纯赋0);在靠近变量第一次使用的位置初始化;2. Const在定义类常量、输入参数、以及任何初始化后其值不再发生改变的局部变量时非常有用;3. 计数器、累加器在下一次使用时忘记重置也是常见的错误,如i
2014-02-27 00:00:53
977
转载 嵌入式C面试题目
这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PE
2014-02-26 23:53:27
550
转载 ((unsigned char volatile code *) 0) 解析
#define CBYTE ((unsigned char volatile code *) 0)#define DBYTE ((unsigned char volatile data *) 0)#define PBYTE ((unsigned char volatile pdata *) 0)#define XBYTE ((unsigned char volatile xdata
2014-02-26 23:42:38
3342
1
原创 C51指针
C51 提供一个3字节的通用存储器指针,通用指针的头一个字节表明指针所指的存储区空间,另外两个字节存储16位偏移量对于DATA IDATA 和PDATA 段只需要8位偏移量,Keil允许使用者规定指针指向的存储段这种指针叫具体指针,使用具体指针的好处是节省了存储空间,编译器不用为存储器选择和决定正确的存储器操作指令产生代码。这样就使代码更加简短,但你必须保证指针不指向你所声明的存储区以外的地方,否
2014-02-26 23:08:31
1369
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人