2014年3月24日

typedef 和 typedef struct 的用法及区别

摘要: typedef声明,简称typedef,为现有类型创建一个新的名字。比如人们常常使用typedef来编写更美观和可读的代码。所谓美观,意指typedef能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性1.定义易于记忆的类型名例如:typedef int size;此声明定义了一个int的同义字,名字为size。注意typedef并不创建新的类型。它仅仅为现有类型添加一个同义字。你可以在任何需要int的上下文中使用size:void measure(size * psz);size array[4];定义一个typedef,每当要用到相同类型和大小的数组时,可以这 阅读全文

posted @ 2014-03-24 09:55 droidxin 阅读(539) 评论(0) 推荐(0) 编辑

线性表——链式表现和实现

摘要: 1.单链表查找Status GetElem_L(LinkList L,int i,ElemType &e){ //L是带头结点的单链表的头指针 p=L->next; //初始化,p指向第一个结点 j=1; //j为计数器 while(p&&jnext; ++j; } if(!p||j>i) return ERROR; //返回错误 e=p->data; //取第i个元素 return OK;}2.向单链表中插入一个数据Status ListInsert_L... 阅读全文

posted @ 2014-03-24 09:40 droidxin 阅读(379) 评论(0) 推荐(0) 编辑

2014年3月22日

线性表——顺序表现和实现

摘要: 1.向当前线性表插入数据Status ListInsert_Sq(SqList &L,int i,ElemType e){if(iL.length+1)return ERROR; //i不合格if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType)); //重新分配存储空间if(!newbase)exit(OVERFLOW); //如果分配空间失败L.elem=newbase; //新基址L.listsize+=LI... 阅读全文

posted @ 2014-03-22 19:22 droidxin 阅读(390) 评论(0) 推荐(0) 编辑

真正认识realloc

摘要: har* p = malloc(1024);char* q = realloc(p,2048);现在的问题是我们应该如何处理指针 p。 刚开始按照我最直观的理解,如果就是直接将 p = NULL;。 到最后只需要释放 q的空间就可以了。因为最近在做个封装。结果在做单元测试的时候发现。有时候我在 free(q); 的时候会出错。这样我就郁闷了。后来仔细一跟踪,发现 realloc 完以后 q 和 p 的指针地址是一样。不过有时候又不一样。仔细查了下资料。得到如下信息: 1.如果 当前连续内存块足够 realloc 的话,只是将p所指向的空间扩大,并返回p的指针地址。 这个时候 q 和 p 指向的 阅读全文

posted @ 2014-03-22 17:39 droidxin 阅读(335) 评论(0) 推荐(0) 编辑

温度传感器ds18b20的随手笔记

摘要: DS18b20的基本使用 阅读全文

posted @ 2014-03-22 17:09 droidxin 阅读(144) 评论(0) 推荐(0) 编辑

编程运算符小结

摘要: 首先介绍一下 异或^与1 异或 极为取反与0 异或 不改变若想让一个字节中的某一位取反如:unsigned char i; i=0x00; i^=0x01; 则此时i=0x01; 这个时候第零位取反了;如果我们想要令其中的某一位为0那么 unsigned char i; i=00110011; 我们要让第三位取1,则需要 i |=00001000; 第三位取0则为: i &=11110111; 阅读全文

posted @ 2014-03-22 17:06 droidxin 阅读(147) 评论(0) 推荐(0) 编辑

MSP430低功耗设置小结

摘要: 设置低功耗模式也就是对SR状态寄存器当中的位进行操作SCG0.SCG1,CPUOFF,OSCOFF等位进行操作如果我们要设置低功耗模式,那一般来说也是要设置 中断的,在中断函数中打开CPU来执行我们想要执行的程序大部分时间CPU是处于OFF状态的,这样可以达到降低功耗的目的void main{ unsigned char i; BCSCTL1|=DIVA_2; WDTCTL=_WDT_ADLY_1000; IE1|=WTDIE; while(1) { _BIS_SR(LPM3_bits); i++; }}#pragma ve... 阅读全文

posted @ 2014-03-22 17:06 droidxin 阅读(375) 评论(0) 推荐(0) 编辑

2013年12月23日

AD学习笔记----PCB设计

摘要: 1.重新设置板子的形状 Design ---->Board Shape---->Redefine Board Sharp2.通过Board Options 对板子进行设置3.添加一个新的图纸,可以添加模板 File-->Open -->Altium Designer 13-->Template-->A4.Pcb4.电路板的分层 Signal Layers信号层,主要完成电气连接 Internal Planes:内部电源和地层 Mechanical Layers:机械层。用于描述电路板机械结构,标注以及加工说明 不能完成电气连接。 Mask Layers:掩模 阅读全文

posted @ 2013-12-23 19:25 droidxin 阅读(3871) 评论(0) 推荐(0) 编辑

AD学习笔记----原理图设计

摘要: 1. 1mil=0.0254mm2. 在制作原理图库和PCB库是,将原理图和PCB封装对应的时候,一定要记得把原理图库中的 Designator 的值和PCB封装中的Designtor的值对应,即一样; 不然在生成集成库的时候就会出错(Eg:could not find port "2"from on model "STC89C52" for pin "2",PCB库文件里可以重新定义。或者你直接修改元件的焊盘名称试试)3.在设置PIN引脚时,必须时刻注意引脚的electornical type 电气类型。 4.熟悉掌握元器件的搜索; 阅读全文

posted @ 2013-12-23 19:24 droidxin 阅读(10461) 评论(0) 推荐(0) 编辑

2013年12月5日

通信方式大集合I2C和SPI,UART

摘要: I2C和SPI,UART的区别SPI--SerialPeripheralInterface,(SerialPeripheralInterface:串行外设接口)串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。I2C--INTER-IC(INTERICBUS:意为IC之间总线)串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。具有接口线少,控制方... 阅读全文

posted @ 2013-12-05 20:57 droidxin 阅读(625) 评论(0) 推荐(0) 编辑

导航