- 博客(40)
- 收藏
- 关注
转载 二级指针作为函数参数传递初始化的一点总结
http://blog.csdn.net/ochonglangzheo/article/details/9788209我用代码来说明:[cpp] view plain copyprint?typedef struct{ int *top; int *base; int stack_size; }Sq
2017-08-28 20:13:02 860
转载 编程缩写字典
编程缩写字典序号描述缩写词AAdditionAdd AccumulatorAcc AddressAddr ActionAct Active
2017-08-21 10:08:20 863
转载 冯唐:在江湖上混需要养成的10个好习惯
“人之患在好为人师”,我也特烦教导别人。一来是认为每个人的情况不一样,很难一概论之。那些号称他的成功可以复制的,不是为了骗你钱买书的,就是教你抄袭造假骗人的。二来我光讲、你光听,基本没用。我好好讲《易筋经》,你好好听,你还是不会少林武功。所以,你们想听我讲,刚入职场应该注意什么,让我为难了,想来想去,还是说说好习惯。在江湖上混,养成好习惯第一,其他就在你们各自的特质和造化了。第一个习惯是及
2017-06-04 10:55:23 503
转载 关于jw和e^jwt的领悟
昨晚看到《电磁场与电磁波》时变电磁场一章,书中又一次出现了jw和e^jwt,之前一直无法理解诸如为什么电感的阻抗可以表示成jwL之类的问题,jw是从哪里推导出来的呢?为什么可以直接与L相乘呢? 昨晚在网上查了一下,看到这么一句话“由于正弦信号α=α0+wt,所以关于角度求导就是关于时间t求导,dα=wdt。所以jw其实是和关于时间求导是等价的,只是前提是正弦信号”。 哦!原来如此,
2017-05-05 10:27:54 34739 1
转载 __I、 __O 、__IO volatile是什么?怎么用?(作者写的太棒了,给赞) .
__I、 __O 、__IO是什么意思? 这是ST库里面的宏定义,定义如下:#define __I volatile const /*!#define __O volatile /*!#define __IO volatile /*!显然,这三个宏定义都是用来替换成 volatile 和 const 的,所以我们先要了解 这两个关键字的作用: volatil
2017-04-28 15:50:56 366
转载 内存,磁盘,cache等访问速度
google 工程师Jeff Dean 首先在他关于分布式系统的ppt文档列出来的,到处被引用的很多。1纳秒等于10亿分之一秒,= 10 ^ -9 秒 -----------------------------------------------------------Numbers Everyone Should KnowL1 cache refe
2017-04-15 21:28:28 518
转载 大小端模式的区别(即小尾和大尾的区别)
最近在学习USB,在看Keil C51代码的时候发现从PC机接收的USB数据在Keil C51环境里要交换高低字节,这是因为Keil的数据结构是大端模式,对于大端模式不是很清楚后来网上搜索发现有一篇文章介绍的比较详细,不敢独享贴出来大家学习。 所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把
2017-04-15 18:12:54 2650
转载 学编程的人不能不看的好文章
大约在年前我接到了台湾瑞晟(Realtek)苏州公司的面试通知,通知我2月21日到苏州工业园区面试,接到面试后的几天我把一些专业课温习了一 遍,特别是C++和数据结构,由于大学几年里,我一直专研这些方面,加上通过了高级程序员的考试,对于一些常用的算法我差不多也达到了烂熟于胸的地步,当 时的感觉是如果问了我这些方面的问题我应该是没有问题的! 21日那天我被安排在4:30面试,由一位技术人员单独
2017-04-15 11:54:26 309
转载 字符串定义方法
字符串定义方法有两种方法:1) 用字符数组;2) 用字符指针;对应两种定义方法,有不同的初始化以及赋值方法 对字符数组,有以下几种定义方法:1) char str[]="12345";或给字符串加上大括号:char str[]={"12345"};这
2017-03-29 16:17:23 1372
转载 真正用来学习微机原理及汇编的好书!
转发自网友博客(http://blog.csdn.net/chaoqunz/article/details/6091966),存档,用于今后查看。我买过一本微机原理(上学的教材就不算了),两本汇编(黄皮和黑皮),都是国内的教科书,通过一段时间的学习,我感觉真的是很困难,我一直在怀疑是不是我 的智商有问题,不过我没有放弃,我共去了西单图书大厦四趟,算是把微机原理和汇编方面的书都浏览了一遍,现在可
2017-03-22 21:35:13 8353
转载 sprintf用法详解
printf可能是许多程序员在开始学习C语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf了解多吗?在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望。由于sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sp
2017-03-20 22:40:26 658
转载 Altium Designer 10中pin properties选项卡里Electrical Type各选项的意思
Electrical:电气特性,共有Input,Io,Output,OpenCollector,Passive,HiZ,OpenEmitter,Power八种类型,解释如下:Input: 输入型,作为输入引脚使用;IO :双向型,既可作为输入,又可作为输出引脚;Output :输出型,作为输出引脚使用;OpenCollector: 集电极开路的引脚;Passive: 无源型,该
2017-03-07 15:18:18 2862
转载 为什么I2C从机地址要左移一位
对许多刚开始接触I2C的新手来说,最开始比较疑惑,当MCU做主机与一些I2C接口的从机(比如一些数字传感器,大多数仍为I2C接口)通信时,无论是用IO模拟I2C协议还是使用I2C模块,在发送从机地址时为什么都需要将从机手册的I2C地址左移一位发出去呢?当然这个问题是比较初级的了,高手直接略过,新手权且简单看一看作为学习资料吧。 首先以飞思卡尔Kinetis系列为例(咳咳,好多人估计都快吐
2017-02-23 20:37:54 15048
原创 STM32 控制74HC595 驱动点阵 文字能移动
遇到了很奇怪的问题,程序明明没错但就是不显示,最后把在main函数中定义的变量count移动到main 外面就正常了 。仿真后发现,在main 函数中定义的局部变量 初始值不为0 ,超出控制范围 , 导致程序跑飞。按理说keil 定义变量默认初始化为0才对 。最后将定义count初始化为0,程序正常运行。下次定义变量一定要初始化啊!!!在单步调试中,发现这个问题。不得不说一下,keil 在线仿
2017-02-23 20:33:25 6444 2
转载 电子相关专业应届毕业生求职全攻略
这篇文章希望能够给刚毕业的学弟学妹们一点找工作的建议,祝所有的应届毕业生朋友都能找到一份满意的工作。又到了一年一度的毕业季,同学们都要离开自己生活了多年的学校,或去读研抑或踏入社会,通过自己的双手谋求生活。一个刚毕业的电子专业应届毕业生,没有工作经验,面对紧张的就业压力怎样才能尽可能找到一份满意的工作。作为曾经也是应届毕业生的我,在此分享一下自己找工作过程中的感悟,如果能有人从我的这篇文章中获
2016-12-26 19:15:19 947
转载 C语言深入探讨实战篇之结构体字节对齐(四)
在有些编程的时候,很多简单的数据类型之间有关系,如一个学生管理系统中,学生的身高,体重,名字等这些都要变量存起来,如果分别定义变量,在编程的时候比较乱,所以通常的做法是定义一个结构体,然后把这些东西放到结构体里面,要管理一个学生就操作这个结构体就行了。前面我们分析了int,float多个字节中字节的排列顺序。同样在结构体当中是由很多的基本数据类型组合起来的,这些里面也有些规则,在定义一个结构体后对
2016-12-26 19:08:51 421
转载 C语言深入探讨实战篇之float类型表示(三)
C语言中需要用到小数的时候就要引入存小数的变量,小数在C语言中叫浮点数,按精度来划分,类型有两种:单精度浮点数float、双精度浮点数double不同的编译环境这两种类型可能占用的字节数有所不同,在VC中float类型占用4个自己,double占用8个字节在Keil当中float类型也是4个字节,但double这个字节也只有4个字节(实际上和float没有任何区别,精度范围都一样,连内
2016-12-26 18:56:24 794
转载 C语言深入探讨实战篇之大小端模式(二)
对于基本类型float\double\int等这些个长度不是1个字节的数据类型(补:不同编译环境可能编译出来的的不同,如在VC当中int占4个字节,在TC、Keil、IAR等一些编译环境下int占2个字节,具体到某个环境下占几个字节可以定义一个相应的变量,通过sizeof这个关键字去测试,看值是多少就是几个字节,然字节数不同仅仅表示的范围宽、窄的区别而已,其余没有任何区别,2个字节的int只能表示
2016-12-26 18:55:05 343
转载 C语言深入探讨实战篇之变量溢出(一)
对于有符合的char变量,127加上1等于多少?-128减去1又等于多少?对于无符号的char变量,255加1等于多少?0减去1等于多少?把一个有符号的-16赋给一个无符号的char变量又等于多少?把129赋给有符号的char变量又等于多少?如果你非常清楚下面的这部分你就不要看了;如果你不清楚,恭喜你,读完下面的内容将彻底明白。首先,要明白无符号和有符号的表示,无符号8位全部表示数,所
2016-12-26 18:53:34 996
转载 模块化编程总结-终极篇
一直以为自己对模块化编程彻底明白了,但是偶尔看到有些条件编译感觉莫名其妙,今天一起做个总结。1、单个功能模块建立源文件.c,和头文件.h,注意.c后缀对于C语言必须小写,有些编译器(如GCC),会认为大写C后缀是C++文件。2、对于功能模块内部使用的全局变量、函数不要放到头文件中,应该用static声明放到源文件模块的前面部分,这样做防止多文件链接的时候(编译的时候不会出错)出现函数名、变
2016-12-26 18:33:19 1698
转载 uCOSII源代码剖析—终极篇
启动工作原理刚接触操作系统的时候觉得这个最神秘,到底里面做了什么,怎么就成了个操作系统,它到底有什么用,为什么要引进来着个东东。学了之后才知道,原来最根本的思想还是源于汇编里面的跳转和压栈,以调用一个函数为例,编译后的汇编肯定是先通过SP压入当前代码段地址然后就是保存一些寄存器的值放栈里面(51单片机好像不是这样),然后执行程序,完了之后,出栈把寄存器恢复,最后把原来存的代码段地址付给PC然后
2016-12-26 18:06:28 6200 1
转载 【转】每天拿两个小时来浪费(文/王路)
Posted on 2013-04-29 19:31 BitArt 阅读(1158) 评论(0)编辑 收藏 徐老板常说:“计量只是个工具。”他别的话我都听,唯独这句话,我当耳旁风。因为我计量学得不好。大学时,我每次六级挂掉,都有人对我说:“英语只是个工具,不用担心。”谁这么对我说,我冲他呵呵。有些话不是对不对的问题,是你有没有资格说的问题。我室友GRE考
2016-12-14 20:27:55 582
转载 PWM输入捕获模式
一、概念理解PWM输入捕获模式是输入捕获模式的特例,自己理解如下1. 每个定时器有四个输入捕获通道IC1、IC2、IC3、IC4。且IC1 IC2一组,IC3 IC4一组。并且可以设置管脚和寄存器的对应关系。2. 同一个TIx输入映射了两个ICx信号。3. 这两个ICx信号分别在相反的极性边沿有效。4. 两个边沿信号中的一个被选为触发信号,并且从模式控制器被设置成复位模式。
2016-11-12 17:40:24 1987
转载 捕获多路pwm输入3种方法
stm32f3捕获多路pwm输入1.定时器有捕获 PWM 的功能. 这个方式用起来最简单, 但是一个定时器只能捕获一路.2.只用定时器双边沿捕获功能, 发生捕获时产生中断, 在中断里识别上升下降沿. 从而计算出 PWM 的频率和占空比, 这样一个定时器最多可捕获4路.3. 用 IO 口双边沿触发中断, 在中断里读取定时器的值. 这样一个定时器可以测量任意个 PWM 信号.对比: 1
2016-11-12 17:38:26 4652
转载 TIM通用定时器(三):PWM输入捕获模式
一、概念理解PWM输入捕获模式是输入捕获模式的特例,自己理解如下1. 每个定时器有四个输入捕获通道IC1、IC2、IC3、IC4。且IC1 IC2一组,IC3 IC4一组。并且可是设置管脚和寄存器的对应关系。2. 同一个TIx输入映射了两个ICx信号。3. 这两个ICx信号分别在相反的极性边沿有效。4. 两个边沿信号中的一个被选为触发信号,并且从模式控制器被设置成复位模式。
2016-11-12 17:31:10 2736 1
转载 TIM_ARRPreloadConfig
先说TIM_ARRPreloadConfig设置为DISABLE 和ENABLE的问题,他的作用只是允许或禁止在定时器工作时向ARR的缓冲器中写入新值,以便在更新事件发生时载入覆盖以前的值。在开始初始化的时候你已经把" TIM_TimeBaseStructure.TIM_Period=2000; //ARR的值 ",后来也一直是这个值,原因是你没有编写中断服务函数或者你在中断服务函数中根本就
2016-11-09 20:30:15 14237 1
转载 C编程中使用全局变量应注意的事项
1、尽量用局部变量替代全局变量。如果用局部变量能实现功能,最好用局部变量。2、在函数仅仅只是要用到某个全局变量,而无需改动时,就将全局变量通过形参传递进来,变成局部变量使用。并在定义时使用const。这是避免全局变量在函数中被意外的改动。如在判断语句中将'=='误写成'='。这时首先因为在函数内的是局部变量所以即使出错也不会影响全局变量和其他函数或模块。其次因为定义的是const类型,当发生意
2016-11-08 22:04:43 2013
转载 STM32事件 中断事件 中断的详解
STM32事件 中断事件 中断的详解凡从事过ST MCU应用开发的人往往会遇到事件、中断事件中断三个概念或术语。这三个概念彼此关联,有时会让人有点混淆或犯迷糊。先拿一件生活中的事情打比方对上述三个概念做个基本的粗略理解,之后再分享一个STM32 GPIO外部中断配置案例。比如一老师在教室里给学生们上课。课堂上的学生可能做出各种行为动作,比方做笔记、打哈气、翻书包、讲
2016-11-08 21:42:33 9419 1
转载 STM32-通用定时器基本定时功能
1. STM32的Timer简介STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗定时器以后再详细研究。今天主要是研究剩下的8个定时器。定时器计数器分辨率计数器类型预分频系数产生DMA
2016-11-08 20:23:46 556
转载 标题:常用电阻阻值
本文为转载。国家标准规定了电阻的阻值按其精度分为两大系列,分别为E-24系列和E-96系列,E-24系列精度为5%,E-96系列为1%, 在这两种系列之外的电阻为非标电阻,较难采购。下面列出了常用的5%和1%精度电阻的标称值,供大家设计时参考。精度为5%的碳膜电阻,以欧姆为单位的标称值:1.0 5.6 33
2016-10-31 11:24:23 402
转载 指针函数与函数指针的区别
在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受
2016-10-30 18:12:26 176
转载 话说C语言const用法
const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰的对象为常量(immutable)。我们来分情况看语法上它该如何被使用。1、函数体内修饰局部变量。例:void func(){const int a=0;}首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动变量,我们给它赋予初始值0。
2016-10-30 17:09:52 298
转载 bool类型变量与0比较的if语句应该怎样书写
bool bTestFlag = FALSE;//想想为什么一般初始化为FALSE 比较好?A), if(bTestFlag == 0); if(bTestFlag == 1);B), if(bTestFlag == TRUE); if(bTestFlag == FLASE);C), if(bTestFlag); if(!bTestFlag);哪一组或是那些组正确呢
2016-10-30 12:40:36 731
转载 C语言register关键字—最快的关键字
register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。注意是尽可能,不是绝对。你想想,一个CPU 的寄存器也就那么几个或几十个,你要是定义了很多很多register 变量,它累死也可能不能全部把这些变量放入寄存器吧,轮也可能轮不到你。一、皇帝身边的小太监----寄存器 不知道什么是寄存器?那见过太监没有?没有?其实我也没有。没
2016-10-30 12:10:55 220
转载 全局变量、局部变量(auto局部变量)、静态全局变量、静态局部变量的区别
C/C++变量根据定义位置的不同,具有不同的作用域和存储域。作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域。存储域可分为2种:静态存储区和栈区,另:函数申请内存空间在堆区里面(这不在本文讨论范围之内)。首先,从作用域看,全局变量具有全局作用域,只需在一个源文件中定义,就可以作用于所有的源文件。当然,其它不包括全局变量定义的
2016-10-30 12:08:27 1421
转载 static
有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。这时就应该指定该局部变量为静态局部变量(static local variable)。例 静态局部变量的值。 #include using namespace std; int f(int a)
2016-10-30 11:58:53 367
转载 差分信号线的定义和优点
一个差分信号是用一个数值来表示两个物理量之间的差异。从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。在某些系统里,系统'地'被用作电压基准点。当'地'当作电压测量基准时,这种信号规划被称之为单端的。我们使用该术语是因为 一个差分信号是用一个数值来表示两个物理量之间的差异。从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。在
2016-10-30 11:29:05 857
转载 10种AD采样的软件滤波方法
10种AD采样的软件滤波方法10种AD采样的软件滤波方法1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断: 如果本次值与上次值之差如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点: 能有效克服因偶然因素引起的脉冲干扰 C、缺点 无法抑制那种周
2016-10-28 19:02:40 904
转载 void指针(void *的用法)
指针有两个属性:指向变量/对象的地址和长度但是指针只存储地址,长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 double*从指定地址向后寻找8字节作为变量的存储单元 1.void指针是一种特别的指针 void *vp //说它特别是因
2016-10-28 18:42:59 683
转载 STM32中的位带(bit-band)操作
支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。在 CM3 中,有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB范围。这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字。当你通过位带别名区访问这些字时,就可以达到访问原始比特的目的。
2016-10-26 10:19:47 429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人