自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rebuild_embed

专注嵌入式领域

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

转载 typedef的语法描述

typedef的语法描述 在现实生活中,信息的概念可能是长度,数量和面积等。在C语言中,信息被抽象为int、float和 double等基本数据类型。从基本数据类型名称上,不能够看出其所代表的物理属性,并且int、float和double为系统关键字,不可以修改。为 了解决用户自定义数据类型名称的需求,C语言中引入类型重定义语句typedef,可以为数据类型定义新的类型名称,从而丰

2015-08-12 18:19:12 1019

转载 函数返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意

2015-08-10 09:07:13 525

原创 用数组 和 链表 构建栈

用C语言构建 数组和链表栈

2015-08-09 11:05:20 560

原创 用二级指针作为形参建立二叉树

今天在写二叉树的建立时,遇见了指针作为参数的bug。经过查找,进一步的理解了二级指针。二级指针,也就是指针的指针,作用主要是为了改变指针本身的数据,在这里,可以把指针本身看成一个变量,既然是变量,那就肯定可以修改其内容,所以可以借助一个二级指针来改变指针本身的数据。用指针作为形参,类似二叉树先序遍递归历的方法,建立二叉树。写了如下代码。typedef struct node {

2015-08-05 21:21:37 1875 2

转载 尾递归

微博上看到有人在讨论尾递归,想起以前曾看过老赵写的一篇相关的博客,介绍的比较详细了,相信很多人都看过,我也在下面留了言,但挑了个刺,表示文章在关键点上一带而过了,老赵自然是懂的,但看的人如果不深入思考,未必真正的明白,下面我说说我的理解。什么是尾递归什么是尾递归呢?(tail recursion), 顾名思议,就是一种“不一样的”递归,说到它的不一样,就得先说说一般的递归。对于一般

2015-08-04 21:46:17 445

转载 TCP UDP 校验算法

经常看计算机网络相关的书时,每次看到关于IP或者是UDP报头校验和时,都是一笑而过,以为相当简单的东西,不就是16bit数据的相加吗!最近在学习Ping命令的源待时,看到里面有关于校验和的算法。一头雾水,后来查找资料,看到校验和是16bit字的二进制反码和。总是觉得很奇怪,为什么会用反码和,而不是直接求和呢?或者是补码和呢?因为在计算机里面数据是以补码的形式存在啊!经过看书查资料,下面总结一些这个

2015-08-04 16:16:40 4591

转载 结构体字节对齐

结构体(struct)的sizeof值,并不是简单的将其中各元素所占字节相加,而是要考虑到存储空间的字节对齐问题。先看下面定义的两个结构体.struct{  char a;  short b;  char c;}S1;struct{ char  a; char  b; short c;}S2;分别用程序测试得出sizeof(S1)=6 ,

2015-08-04 11:37:04 432

转载 编写可变参数c函数

前言:本文在很大程度上改编自网友kevintz的“C语言中可变参数的用法”一文,在行文之前先向这位前辈表示真诚的敬意和感谢。一、什么是可变参数我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三

2015-07-23 20:27:42 349

转载 inline 和 宏定义的区别

inline函数是C++引入的机制,目的是解决使用宏定义的一些缺点。1.为什么要引入内联函数(内联函数的作用)  用它替代宏定义,消除宏定义的缺点。宏定义使用预处理器实现,做一些简单的字符替换因此不能进行参数有效性的检测。另外它的返回值不能被强制转换为可转换的合适类型,且C++中引入了类及类的访问控制,在涉及到类的保护成员和私有成员就不能用宏定义来操作。2.inline相比

2015-07-23 20:22:32 574

转载 C语言宏定义,内置宏,__FILE__,__LINE__,## 用法

当然宏定义非常重要的,它可以帮助我们防止出错,提高代码的可移植性和可读性等。下面列举一些成熟软件中常用得宏定义1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容 …#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef  unsigne

2015-07-23 20:18:56 438

转载 NOR和NAND flash区别,RAM 和ROM区别

ROM是Read Only Memory的缩写。RAM是Random Access Memory的缩写。典型的RAM就是计算机的内存。 RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/

2015-03-25 22:09:04 664

转载 stm32 PWM input捕获输入模式

stm32 定时器pwm输入捕获输入捕捉的功能是记录下要捕捉的边沿出现的时刻,如果你仅仅捕捉下降沿,那么两次捕捉的差表示输入信号的周期,即两次下降沿之间的时间。如果要测量低电平的宽度,你应该在捕捉到下降沿的中断处理中把捕捉边沿改变为上升沿,然后把两次捕捉的数值相减就得到了需要测量的低电平宽度。如果要的测量低电平太窄,中断中来不及改变捕捉方向时,或不想在中断中改变

2014-12-26 16:54:23 14780 1

转载 模拟地与数字地详解

二者本质是一直的,就是数字地和模拟地都是地。要明白为什么要分开,先听一个故事;我们公司的商务楼,2楼是搞模拟的,3楼是搞数字的,整幢楼只有一部电梯,平时人少的时候还好办,上2楼上3楼互不影响,但每天上下班的时候就不得了了,人多得很,搞数字的要上3楼,总是被2楼搞模拟的人影响,2楼模拟的人要下楼,总是要等电梯上了3楼再下来,互相影响很是麻烦,商务楼的物业为解决这个问题,提出了2个方案:第1个(笑死人

2014-12-04 11:57:15 596

原创 基本放大电路-简要总结

许久没有更新博客了,最近同时在做好几件事情,有些心乱效率不高。哎,知识的积累还是的稳扎稳打,急不得呀!这篇文章,我来总结下,模拟电路中基本放大电路的特性。首先,放大电路放大的对象是变化量(各种信号源),就是把它的电流或者电压放大(功率放大),这本质上是一种能量的控制。放大的信号要做到不失真,那就要分析清楚电路的静态特性和动态特性。这也是我总结的内容。放大电路可以根据器件的不同分为两大类

2014-09-19 21:12:10 4242

转载 static和extern 的区别

一些基本概念:1. 编译单元(模块):    在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常的理解编译与连接的区别!当在

2014-08-20 21:54:06 432

原创 二极管、三极管、场效应管的原理及特性

本文组要摘出了二极管、三极管、场效应管的原理及特性。主要目的是梳理它们的结构及原理,由于细细写来信息量还是蛮大的,所以难免会会有信息的丢失,但大体的结构是完整的。;-)一、半导体二极管       定义:奖PN结用外壳封装起来,并加上电机引线就构成了半导体二极管。       常见的二极管类型如图(1)图(1)普通二极管,主要是利用它正向导通,反向截止的特性(单向导电性)。

2014-08-17 00:24:16 16484

原创 STM32 库解析及新建工程

上一篇文章介绍了keil 开发环境的配置。这篇文章来解析下ST公司提供的固件库,以及怎么新建一个工程。ST公司官网下载固件库的方法。http://jingyan.baidu.com/article/948f59242eb91dd80ef5f972.html我使用的是STM32F103VET6,故选择图(1)画红线的固件库。          

2014-08-11 22:05:47 931

原创 STM32 用jlink下载失败 环境配置

今天在新建了一个工程,用jlink下载,突然冒出一个莫名的错误,如图(1)。但是demo的例子可以用jlink下载到开发板里。汗!度娘上有两种说法:(1),需要clone解锁(用串口下载的方式,刷新flash)(2),环境配置错误。那就一一排除吧!用串口下载程序,刷新flash,程序下载成功,但转到jlink下载 依旧报错!在百度怎么clone解锁,有好多方法,貌似很复杂,故放弃。尝试方法

2014-08-08 15:51:25 5730

原创 第一篇博客--致自己

今天的日期是2014.8.6,我在CSDN写下ziji

2014-08-06 11:15:36 487

清理keil编译的中间文件

项目最终要发布时,可清理output和listing文件,以减少工程大小。

2014-08-12

空空如也

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

TA关注的人

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