自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (15)
  • 收藏
  • 关注

原创 ZigBee_NV

2018-07-03 23:35:03 344 1

原创 ZigBee_组网解析

2018-07-03 23:32:03 376

转载 C语言中 sscanf( )的用法

sscanf() - 从一个字符串中读进与指定格式相符的数据.[cpp] view plain copyprint? 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明:ssc

2017-07-08 15:46:17 536

转载 C语言实现双向链表

文章转载自:http://blog.csdn.net/dlutbrucezhang/article/details/8824646[cpp] view plain copyprint? #include <assert.h> #include <stdlib.h> #include <stdio.h> typedef struct myList

2017-07-08 11:21:08 265

转载 C语言中的预处理详解

本文转载自:http://blog.csdn.net/dlutbrucezhang/article/details/8753765在嵌入式系统编程中不管是内核的驱动程序还是应用程序的编写,涉及到大量的预处理与条件编译,这样做的好处主要体现在代码的移植性强以及代码的修改方便等方面。因此引入了预处理与条件编译的概念。 在C语言的程序中可包括各种以符号#开头的编译指令,这些指令称为预处理命令。预处理命令

2017-07-08 11:03:39 358

转载 堆栈

本文转载自:http://blog.csdn.net/dlutbrucezhang/article/details/8747828堆栈 我们已经对堆栈这种数据结构有了初步认识。堆栈是一组元素的集合,类似于数组,不同之处在于,数组可以按下标随机访问,这次访问a[5]下次可以访问a[1],但是堆栈的访问规则被限制为Push和Pop两种操作,Push(入栈或压栈)向栈顶添加元素,Pop(出栈或弹出)则取出

2017-07-08 10:48:58 360

转载 C静态库的构建

本文转载自:http://blog.csdn.net/dlutbrucezhang/article/details/8755881静态库 有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库,我们在不同的程序中都会用到libc中的库函数(例如printf),也会用到libc中的变量(例如以后要讲到的environ变量)。本节介绍怎么创建这样一个库。我们继续

2017-07-08 08:45:03 277

原创 CC3200-UDP-Client

下面的代码是udp_socket工程的main()函数,运行前须知道UDP通信的机制。该程序是客户端的程序,运行前需要开启服务器和端口。 在CC3200SDK-1.2.0上测试可用,下面是主函数文件的代码://*****************************************************************************//已实现UDP发送,接受

2017-07-04 19:02:34 858

转载 程序员应该阅读的非编程类书籍有哪些?

转自:http://blog.csdn.NET/justjavac/article/details/37921837在 stackoverflow 上有人提问 程序员应该阅读的非编程类书籍有哪些? 本来只想整理编程类书籍, 不过突然眼前一亮,发现了《The Art of War - Sun Tzu》回答者的推荐说明引用 Wikipedia 上的:《哥德尔、艾舍尔、巴赫——集异璧之大成》Gödel,

2017-07-01 11:21:08 322

原创 ZigBee_安全模式

在Zglobals.c和Zglobals.h中设置:uint8 zgSecurityMode = ZG_SECURITY_MODE;#define ZG_SECURITY_NONE 0#define ZG_SECURITY_RESIDENTIAL 1#define ZG_SECURITY_PRO_STANDARD 1 // For now, same as residenti

2017-07-01 10:31:02 609

转载 C语言中字符数组和字符串指针分析

本文转载自:http://www.cnblogs.com/gigikouyi/archive/2006/08/01/464737.html 测试环境是win10-64位,编译器是C-free,测试程序如下: #include

2017-07-01 08:49:22 228

原创 CC3200-UART-ADC-PWM

在CC3200SDK-1.2.0上测试可用,下面是main函数的代码:注意:需使用example adc project 进行代码融合//采集电压以PWM的方式输出,串口接收相关指令,执行相关操作,显示相关信息#include <string.h>#include <stdint.h>#include <stdlib.h>#include <stdbool.h>#include "utils

2017-06-30 20:54:52 1312

原创 CC3200-PWM

在CC3200SDK-1.2.0上测试可用,下面是main函数的代码:#include <stdio.h>#include "hw_types.h"#include "hw_ints.h"#include "hw_memmap.h"#include "hw_apps_rcm.h"#include "hw_common_reg.h"#include "interrupt.h"#inclu

2017-06-30 20:17:41 834

原创 CC3200-ADC

在CC3200SDK-1.2.0上测试可用,下面是main函数的代码:#include <string.h>#include <stdint.h>#include <stdlib.h>#include <stdio.h>#include <stdbool.h>#include "utils.h"#include "hw_memmap.h"#include "hw_common_reg.

2017-06-30 19:09:18 748

原创 shell的外部命令和内部命令

内部命令: 内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。比如说,当我们执行“cd”命令时,没有进程被创建。在执行过程中只是简单的改变当前的目录。 外部命令: 外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个新的进程即被创建同时命令被执行。比如说,当

2017-06-18 18:58:42 483

原创 Liunx中的du和df命令

df:列出文件系统的整体磁盘使用量 du:评估文件系统的磁盘使用量,这个需要一段时间fd [-ahikHTm] 目录或文件名 -a 列出所有的文件系统,包括系统特有的/proc等文件系统 -k 以KB的容量显示各文件系统 -m 以MB的容量显示各文件系统 -h 以人们容易阅读的格式显示 -H 以M=1

2017-06-17 22:45:08 494

原创 硬链接与软链接

hard link(硬链接或实际连接): 1、通过文件系统的inode连接来产生新文件名,而不是产生新文件; 2、每个文件都会占用一个inode,文件内容由inode的记录来指向; 3、硬连接只是在某个目录下新建一条文件名连接到某个inode号码的关联记录而已; 4、以文件副本的形式存在,但不占用实际空间; 5、不允许给目录创建硬链接; 6、硬链接只有在同一个文件系统中才能创建; 7、

2017-06-17 22:39:58 386

原创 ZigBee_加密算法设置

AES加密算法,是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位分组加密和解密数据。Z-Stack中采用的是128位的加密方式。三步配置: 1、创建密钥 在配置文件f8wConfig.cfg中修改 /* Default security key. */ -DDEFAULT_KEY=”{0x01, 0x03, 0x05, 0x07, 0x09, 0x0B

2017-05-29 11:47:01 1781

原创 ZigBee_ADC数据位

ADC通道( channel)与引脚是一一对应的关系,即每个ADC通道都有固定的与之对应的引脚。 有内部通道和外部通道之分。模拟传感器: value = ADCL >> 2 ; //将采集到低6位赋值到7~2中(5-0),ADCH(13-6) value |= ((uint16) ADCH) << 6

2017-05-29 11:44:42 1876

原创 ZigBee缩略语和简称

缩略语和简称: AIB 应用支持层的信息库 AF 应用框架 APDU 应用支持子层协议数据单元 APL 应用层 APS 应用支持子层 APSDE 应用支持子层数据实体 APSDE-SAP 应用支持子层数据实体-服务接入点 APSME 应用支持子层管理实体 APSME-SAP 应用支持子层管理实体—服务接入点 ASDU APS服务数据单元 BRT 广播重试计时器 BT

2017-05-29 11:34:35 791

原创 ZigBee_协议栈简介

部分层功能介绍:APP:应用层,用户可以根据需求添加自己的任务。这个目录中包含了应用层和项目的主要内容,在协议栈里面一般是以操作任务实现的。 HAL:硬件驱动层,包括与硬件相关的配置、驱动以及操作函数。 OSAL:协议栈的操作系统。 Profile:AF层,包含AF层处理函数。 Security&Services:安全服务层,包含安全层和服务层处理函数,比如加密。 Tools:工程配置目录

2017-05-29 11:32:26 10461

原创 并发进程的同步与互斥

//两个或更多进程在协作时需保持互斥//进程的并发执行特征//P,V操作#include <sys.h>semaphore mutex=1;int x;void process_one(){ int y,z; P(mutex); //wait(mutex); x=1; y=0; if(x>=1) y=y+1; z=y;

2017-05-29 10:19:32 770

原创 逻辑位运算

//正数的补码:与原码相同。//负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int bit_1,bit_2,bit_3; bit_1 = 12; //00001100 bit_

2017-05-28 11:18:44 227

原创 使用数组、指针的效率问题

/***数组与指针之间的关系**数组名的是一个指针常量**当你根据某个固定数目的增量在一个数组中移动时,使用指针变量将比使用下标产生效率更改的代码,当这个增量是1并且具有地址自动增量模型时,这点表现的更为突出。**声明为寄存器变量的指针通常比位于静态内存和堆栈中的指针效率更高。**如果你可以通过测试一些已经初始化并经过调整的内容来判断循环是否应该终止,那时你就你需要使用一个单独的计数器。

2017-05-28 10:37:23 535

原创 字符串复制函数的实现

#include <stdio.h>#include <stdlib.h>#include <string.h>#define SIZE 80char* strcopy(char*,char*);int main(){ char str1[SIZE]; char str2[SIZE]; printf("请输入一个字符串:"); scanf("%s",str

2017-05-28 10:09:05 654

原创 均值滤波&阈值均值滤波

I=imread('imagefile.jpg');I=rgb2gray(I);%J=imnoise(I,'gaussian',0,0.005); %高斯噪声J=imnoise(I,'salt & pepper'); %椒盐噪声subplot(2,2,1);imshow(I); title('原始图像'); subplot(2,2,2); imshow(J

2017-04-15 16:35:10 2752 1

原创 函数fspecial( )与滤波算子

I=imread('imagefile.jpg');I=rgb2gray(I);I=im2double(I);A=fspecial('log'); %拉普拉斯高斯算子 %A=fspecial('prewitt'); %prewitt算子,用于边缘增强%A=fspecial('unsharp'); %对比度增强滤波算子

2017-04-15 16:25:31 830

原创 平滑与锐化算子

I=imread('imagefile.jpg'); %读入图像J=imnoise(I,'gauss',0.05,0.02); %添加高斯噪声%J=imnoise(I,'salt&pepper',0.02); %添加椒盐噪声x=[0,1,0;1,-4,1;0,1,0]; %拉普拉斯算子y=[-1,-1,-1

2017-04-15 16:14:20 2042

原创 用不同的滤波器对不同强度的噪声进行滤波处理

I=imread('imagefile.jpg');J = imnoise(I,'gauss',0.05,0.02);%添加均值为0.05,方差为0.02的高斯噪声%J = imnoise(I,'salt & pepper',0.02); %添加2%像素被污染的椒盐噪声 ave1=fspecial('average',3);

2017-04-15 15:42:34 956

转载 __cplusplus的妙用

如果你不想理解下面这段代码的意义,那么请你记住:在你的代码不知道是被c调用还是c++调用时,请添加此段代码。#ifdef __cplusplusextern "C"{#endif//code#ifdef __cplusplus}#endif下面详细说明此段代码的意义: __cplusplus是c++定义的宏,如果是c++调用的话,extern c声明会有效。如果时c调用的话,那么,ex

2017-03-21 18:24:39 246

原创 NULL指针

NULL指针并不指向任何对象。不同的机器对0位置的读写具有不同的权限。可以用下面的程序进行测试:#include <stdio.h>main(){ char *p; p = NULL; printf("Location 0 contains %d\n", *p);}

2017-03-17 21:56:33 194

翻译 输出缓存区的内存分配

程序输出有两种方式:一种是即时处理方式,另一种是暂存起来,然后再大块写入的方式,前者往往造成较高的系统负担。main函数结束之后,作为程序交回控制系统之前C运行时库会进行一些清理工作。缓存区的大小由系统头文件#include <stdio.h>main(){ int c; //char类型无法容纳EOF static char buf

2017-03-17 21:17:33 582

原创 ZigBee_数据接收函数解析

数据包被发送到到一个注册登记过的端点,在应用层通过OSAL事件处理函数中的接受信息事件 AF_INCOMING_MSG_CMD 来处理数据的接受。其中数据的接受是通过在Af层定义的结构体 afIncomingMSGPacket_t 来进行的。typedef struct{ osal_event_hdr_t hdr; //OSAL消息队列,接受消息为 A

2017-03-15 00:08:06 3056 1

原创 ZigBee_数据发送函数解析

数据发送函数原型:afStatus_t AF_DataRequest( afAddrType_t *dstAddr, //指向发送目的地址指针 endPointDesc_t *srcEP, //指向目的端点的端点描述符指针 uint16 cID,

2017-03-14 23:59:33 4350

原创 ZigBee_端点管理_描述符

ZigBee网络中的所有设备都有一些描述符,用来描述设备类型和应用方式。描述符的定义和创建配置项在文件ZDOCConfig.h和ZDOConfig.c中完成。IEEE地址,设备地址,全球唯一 每个节点都具有物理地址(长地址、MAC)和网络地址(短地址),每个节点都有241个端点 如果设备之间需要绑定,/必须在网络层注册一个或多个端点来进行数据的发送和接受以及绑定表的建立。#define GENE

2017-03-13 23:19:30 1844

原创 ZigBee_校正函数

vddvalue=69*getVddvalue()/256;extern unsigned int getVddvalue(void){ unsigned int value; unsigned char tmpADCCON3=ADCCON3; ADCIF=0; ADCCON3=(ADC_REF_115V|ADC_DEC_064|ADC_CHN_VDD3); while(!AD

2017-03-13 22:43:52 809

原创 空指针与空字符串

NUL是ASCII字符集中‘\0’字符的名字,它的字节模式为全0,;NULL指一个其值为0的指针。它们都是整型值,其值也相同,所以可以互换使用。注意:当常数0被转换为指针使用时,这个指针绝对不能被解引用。int *P;if(p == (char *) 0); //合法的使用if(strcmp(p,(char *)0) == 0); //非法的使用,因为函数strcmp( )查看了

2017-03-12 17:57:33 1417

翻译 数组作为函数参数时的用法

注意:将数组名作为参数毫无意义,因此C语言中会自动将作为参数的数组声明转换为相应的指针声明。int strlen(char s[]){ /*code*/}与下面的写法完全相同:int strlen(char* s){ /*code*/}

2017-03-12 17:21:36 600

翻译 动态内存分配:如何将两个字符串连接成单个字符串

注意:字符串就是一串以NUL字节结尾的字符 mallor( )函数并不执行初始化工作char *r, *mallor();r = mallor(strlen(s) + strlen(t) + 1); //让r指向一个地址,该地址的大小动态可调整 //且必须多分配一个字节存放空字节if(!if)

2017-03-12 16:55:47 830

原创 ZigBee_I2C协议器件地址

首字节是"片选信号",即7位从机地址加1位方向(读写)控制. 读写是站在主机的立场上定义的. "读"是主机接收从机数据,"写"是主机发送数据给从机. 重复位主要用于主机从发送模式到接收模式的转换"信号",由于只有2线, 所以收发转换肯定要比SPI复杂,因为SPI可用不同的边沿来收发数据,而I2C不行. 在硬件I2C模块,特别是MCU/ARM/DSP等每个阶段

2017-03-11 23:37:41 910

《数学之美》 吴军

当数学与互联网碰撞,奇迹就发生了。

2017-03-02

ZigBee实战演练 网蜂

如果你想对ZigBee裸机进行系统的学习,这是一本不可不读的好书。

2017-03-02

华为C语言编写规范 - 程序员必备

不要为了效率上的细微差别而牺牲可读性;程序维护是软件产品的主要成本所在。

2017-02-20

高级C语言PDF

C语言难点分析与整理。

2017-02-20

C语言深度解析 - 开发技术

谦虚使人进步,仔细阅读这篇文档,不管是新手、老手还是高手一定会有所收获的。

2017-02-20

CC3200实验指导书

学习CC3200的伙伴们有福了,可以当作基础学习

2016-08-11

单片机文档 - 嵌入式

想要学习单片的同学,或者是想要提高一下,都可以进来看看

2015-09-22

空空如也

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

TA关注的人

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