<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[angle0615303的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/angle0615303</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; angle0615303]]></copyright><item><title><![CDATA[Channel、PANID、发射功率及其它参数]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8841635</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8841635</guid><author>angle0615303</author><pubDate>Tue, 23 Apr 2013 20:34:53 +0800</pubDate><description><![CDATA[现对z-stack里几个网络参数的设置以及如何获取总结一下。

















信道配置：
Zigbee在3个频段定义了27个物理信道：868MHz频段中定义了1个信道，915MHz频段中定义了2个信道，信道间隔为2MHz，2.4GHz频段上定义了16个信道，信道间隔为5MHz.





信道编号


中心频率/MHz]]></description><category></category></item><item><title><![CDATA[ZStack--临界资源管理]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8561470</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8561470</guid><author>angle0615303</author><pubDate>Thu, 31 Jan 2013 23:47:10 +0800</pubDate><description><![CDATA[先看一个临界区代码保护的例子：
      HAL_ENTER_CRITICAL_SECTION(intState);
      events = activeTask->events;
      activeTask->events = 0;  //清楚任务的事件
      HAL_EXIT_CRITICAL_SECTION(intState);
其中：中断宏定义如下
#def]]></description><category></category></item><item><title><![CDATA[ZigBee各版本规范比较]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8505310</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8505310</guid><author>angle0615303</author><pubDate>Tue, 15 Jan 2013 13:26:55 +0800</pubDate><description><![CDATA[ZigBee各版本规范比较
ZigBee是ZigBee联盟建立的技术标准，它是一种工作在900MHZ和2.4GHZ频段的新兴无线网络技术，具有中等通讯距离（10米到数百米），比较灵活经济的通讯速率（40Kbps到250Kbps），并且有星状，网状（MESH），树状等多种网络拓扑，低的功耗等特点，所以在当今无线通讯技术和无线网络技术领域中占有比较重要的地位。
第一个ZigBee协议栈规范于200]]></description><category></category></item><item><title><![CDATA[PAN_ID]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8220022</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8220022</guid><author>angle0615303</author><pubDate>Sat, 24 Nov 2012 16:12:05 +0800</pubDate><description><![CDATA[ZigBee协议使用一个14位的个域网标志符（PAN ID）来标识一个网络。ZStack允许用两种方式配置PAN ID，当ZDAPP_CONFIG_PAN_ID值不设置为0xFFFF时，那么设备建立或加入网络的PAN ID由ZDAPP_CONFIG_PAN_ID指定；如果设置ZDAPP_CONFIG_PAN_ID为0xFFFF，那么设备就将建立或加入一个“最优”的网络。因此您的PAN ID重启后就]]></description><category></category></item><item><title><![CDATA[mmap（）函数系统调用]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8146771</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8146771</guid><author>angle0615303</author><pubDate>Sun, 04 Nov 2012 21:25:44 +0800</pubDate><description><![CDATA[mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后，进程可以向访问普通内存一样对文件进行访问，不必再调用read()，write（）等操作。
注：实际上，mmap()系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式，进程可以像读写内存一样对普通文件的操作。而Posix或系统V的共享内存IPC则纯粹用于共享目的，]]></description><category></category></item><item><title><![CDATA[request_mem_region() -- I/O内存申请]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8146702</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8146702</guid><author>angle0615303</author><pubDate>Sun, 04 Nov 2012 21:02:58 +0800</pubDate><description><![CDATA[request_mem_region() -- 将起始地址为[start, start+n-1]的资源插入根资源iomem_resource中。参数start是I/O内存资源的起始物理地址(是CPU的RAM物理地址空间中的物理地址)，参数n指定I/O内存资源的大小。
#define request_mem_region(start, n, name) \
        
__request]]></description><category></category></item><item><title><![CDATA[传值&传引用&传指针]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8135567</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8135567</guid><author>angle0615303</author><pubDate>Thu, 01 Nov 2012 10:21:39 +0800</pubDate><description><![CDATA[相关概念





c++三种传递参数方式


传参数的值(称值传递，简称传值),传参数的地址(称地址传递，简称为传址),和引用传递（称为传引用),相应的函数传值调用,传址调用和传引用调用




形参、实参


 函数定义时参数表中的参数称为形式参数,简称形参；函数调用时参数表中的参数称为实际参数,简称实参。实参和形参之间的数据传递称为形实结合]]></description><category></category></item><item><title><![CDATA[线程与进程的区别]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8122087</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8122087</guid><author>angle0615303</author><pubDate>Sun, 28 Oct 2012 21:30:09 +0800</pubDate><description><![CDATA[线程是指进程内的一个执行单元,也是进程内的可调度实体.
与进程的区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
(3)线程是处理器调度的基本单位,但进程不是.
4)二者均可并发执行. 
进程和线程都是由操作系统所体会的程序运行的基本单元，]]></description><category></category></item><item><title><![CDATA[不可剥夺内核和可剥夺内核的比较]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8122056</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8122056</guid><author>angle0615303</author><pubDate>Sun, 28 Oct 2012 21:23:16 +0800</pubDate><description><![CDATA[不可剥夺型内核:要求每个任务主动放弃cpu。各个任务彼此合作共享一个cpu，异步事件还是由中断服务来处理的。中断服务可使一个高优先级的任务由挂起变为就绪状态，但是中断服务后，使用权就回到了被中断了的那个任务，也就是回到了原来的任务了，直到该任务主动放弃cpu的使用权，此时高优先级的任务才能或得cpu使用权。其优点:1：响应中断快；2：几乎不需要使用信号量来保护共享数据，当前运行着的任务占用着cpu]]></description><category></category></item><item><title><![CDATA[C++笔试面试题]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8121963</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8121963</guid><author>angle0615303</author><pubDate>Sun, 28 Oct 2012 20:59:13 +0800</pubDate><description><![CDATA[1.new 、 delete 、 malloc 、 free 关系
delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存， new 调用构造函数。 malloc 与 free 是 C++/C 语言的标准库函数， new/delete 是 C++ 的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言，光用 maloc/free 无法满足动态对象的要]]></description><category></category></item><item><title><![CDATA[交换排序（冒泡排序和快速排序）]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8121373</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8121373</guid><author>angle0615303</author><pubDate>Sun, 28 Oct 2012 17:07:35 +0800</pubDate><description><![CDATA[交换排序主要是根据记录的关键字的大小，将记录交换来进行排序的。交换排序的特点是：将关键字值较大的记录向序列的后部移动，关键字较小的记录向前移动。这里介绍两种交换排序方法，它们是冒泡排序和快速排序。
一．冒泡排序 
将被排序的记录数组R[1..n]垂直排列，每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则，从下往上扫描数组R：凡扫描到违反本原则的轻气泡，就使其]]></description><category></category></item><item><title><![CDATA[Thumb指令与ARM指令的时间效率和空间效率关系]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8121196</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8121196</guid><author>angle0615303</author><pubDate>Sun, 28 Oct 2012 16:18:02 +0800</pubDate><description><![CDATA[与ARM指令集相比较，Thumb指令集中的数据处理指令的操作数仍然是32位，指令地址也为32位，但Thumb指令集为实现16位的指令长度，舍弃了ARM指令集的一些特性，如大多数的Thumb指令是无条件执行的，而几乎所有的ARM指令都是有条件执行的；大多数的Thumb数据处理指令的目的寄存器与其中一个源寄存器相同。
由于Thumb指令的长度为16位，即只用ARM指令一半的位数来实现同样的功能，所以]]></description><category></category></item><item><title><![CDATA[uC/OS-II内核架构解析（7）---uC/OS-II应用开发]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8119728</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8119728</guid><author>angle0615303</author><pubDate>Sat, 27 Oct 2012 22:19:32 +0800</pubDate><description><![CDATA[1. 应用开发步骤
    (1) 包含uC/OS-II的总头文件includes.h；
    (2) 定义任务栈的大小和任务栈；
    (3) 分配任务优先级；
    (4) 实现任务功能；
    (5) 调用OSInit()函数初始化uC/OS-II的数据结构；
    (6) 创建用户任务，启动uC/OS-II；
2. 编写任务函数
    用户任务函数必须是无限循环]]></description><category></category></item><item><title><![CDATA[uC/OS-II内核架构解析（6）---uC/OS-II内存管理]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8119721</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8119721</guid><author>angle0615303</author><pubDate>Sat, 27 Oct 2012 22:17:23 +0800</pubDate><description><![CDATA[1. memPart基本原理
    uC/OS-II根据需要将内存空间分成多个内存分区，每个内存分区由具有相同大小的内存块（Block）组成。主要包含在C源文件OS_MEM.C中。

OS_EXT OS_MEM OSMemTbl[OS_MAX_MEM_PART];OS_EXT OS_MEM *OSMemFreeList;memPart控制块结构体：
　　typedef struct os]]></description><category></category></item><item><title><![CDATA[uC/OS-II内核架构解析（5）---uC/OS-II通信与同步]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8119690</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8119690</guid><author>angle0615303</author><pubDate>Sat, 27 Oct 2012 22:06:42 +0800</pubDate><description><![CDATA[1. 消息邮箱Mbox
      Mbox用于多任务间单一消息的传递，uC/OS-II使用ECB管理Mbox的基本信息，OSEventPtr指向创建Mbox时指定的内存空间。事件的创建由具体的事件管理程序实现。主要包含在C源文件OS_MBOX.C中。

OS_EVENT *OSMboxCreate(void *msg);void *OSMboxPend(OS_EVENT *pevent,]]></description><category></category></item><item><title><![CDATA[uC/OS-II内核架构解析（4）---uC/OS-II任务管理]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8119685</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8119685</guid><author>angle0615303</author><pubDate>Sat, 27 Oct 2012 22:05:33 +0800</pubDate><description><![CDATA[1. C可执行代码结构
 
    （1）代码段.text：存放CPU执行的机器指令，通常.text是可共享且只读的。
    （2）数据段.data：.rodata(常量数据)、.rwdata（已初始化全局变量、静态变量）。
    （3）未初始化数据段.bss：未初始化的全局变量、静态变量。
    （4）栈.stack：存放函数参数、局部变量及任务切换时的上下文。
    （5）]]></description><category></category></item><item><title><![CDATA[uC/OS-II内核架构解析（3）---uC/OS-II系统核心]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8119666</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8119666</guid><author>angle0615303</author><pubDate>Sat, 27 Oct 2012 21:59:16 +0800</pubDate><description><![CDATA[主要包含在C源文件OS_CORE.C中。
1. uC/OS-II任务调度
(1) uC/OS-II调度算法
      uC/OS-II采用基于优先级的调度算法，总是选择当前处于就绪状态的优先级最高的任务进行调度。uC/OS-II是可抢占性的强实时性OS，在完成中断后允许进行新的任务调度。
      uC/OS-II有两种调度方式：任务级任务调度、中断级任务调度。
(2) 任务就绪表]]></description><category></category></item><item><title><![CDATA[uC/OS-II内核架构解析（2）---uC/OS-II基本介绍]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8119601</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8119601</guid><author>angle0615303</author><pubDate>Sat, 27 Oct 2012 21:41:16 +0800</pubDate><description><![CDATA[1. uC/OS-II文件结构

2. uC/OS-II组成部分
    uC/OS-II大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。
    (1) 核心部分(OSCore.c) ：uC/OS-II处理核心，包括初始化、启动、中断管理、时钟中断、任务调度及事件处理等用于系统基本维持的函数。
    (2) 任务管理(OSTas]]></description><category></category></item><item><title><![CDATA[uC/OS-II内核架构解析（1）---嵌入式RTOS]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8119591</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8119591</guid><author>angle0615303</author><pubDate>Sat, 27 Oct 2012 21:39:48 +0800</pubDate><description><![CDATA[1. 嵌入式系统基本模型

2. RTOS设计原则
      采用各种算法和策略，始终保持系统行为的可预测性。即在任何情况下，在系统运行的任何时刻，OS的资源配置策略都能为争夺资源（包括CPU、内存、网络带宽等）的多个实时任务合理地分配资源，使每个实时任务的实时性要求都能得到满足。
3. GPOS与RTOS

GPOS：注重每次执行的平均响应时间，而不是某次特定执行的响应时间。RTO]]></description><category></category></item><item><title><![CDATA[一个五位数字ABCDE*4=EDCBA，这五个数字不重复，求出这个五位数字]]></title><link>https://blog.youkuaiyun.com/angle0615303/article/details/8049843</link><guid>https://blog.youkuaiyun.com/angle0615303/article/details/8049843</guid><author>angle0615303</author><pubDate>Mon, 08 Oct 2012 20:30:54 +0800</pubDate><description><![CDATA[main（）
{
for (int i=10001;
 i100000; i++)
 { int right
= 0;
int left 
= i; while ( left
!= 0 )
/*求右边的值*/

{ right = right
* 10
+ left 
% 10;
//这个循环的目的是求出与 如果left = ABCDE;则right = EDCBA;]]></description><category></category></item></channel></rss>