<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dayidson</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dayidson]]></copyright><item><title><![CDATA[51_堆栈问题.]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/6031603</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/6031603</guid><author>dayidson</author><pubDate>Wed, 24 Nov 2010 10:53:00 +0800</pubDate><description><![CDATA[Keil C是非常优秀的C51编译器，可能是最好的C51编译器，提供各种优化模式，对变量的优化和地址安排做得非常好。这是用C语言写代码的好处之一，如果用汇编写，得费一大番功夫给各个变量安排内存物理地址，还得时刻记住哪些地址的内存单元是已经分配了，新增加的变量就不能占用那些已经分配了的单元，以免产生内存交叠冲突和溢出。我一直非常信赖Keil C51的编译结果，在我的印象里，它对内存的分配是完美的，只要代码用它编译时没有报告任何warning和error，代码运行时不可能内存冲突或溢出的现象。 
  但，今天]]></description><category></category></item><item><title><![CDATA[c语言库函数大全--资料收集]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5915641</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5915641</guid><author>dayidson</author><pubDate>Thu, 30 Sep 2010 09:21:00 +0800</pubDate><description><![CDATA[Turbo C 2.0 函数中文说明大全分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符]]></description><category></category></item><item><title><![CDATA[认识多任务、多进程、单线程、多线程]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5890627</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5890627</guid><author>dayidson</author><pubDate>Fri, 17 Sep 2010 13:27:00 +0800</pubDate><description><![CDATA[<br />要认识多线程就要从操作系统的原理说起。 <br />　　以前古老的DOS操作系统(V 6.22)是单任务的，还没有线程的概念，系统在每次只能做一件事情。比如你在copy东西的时候不能rename文件名。为了提高系统的利用效率，采用批处理来批量执行任务。<br />　　现在的操作系统都是多任务操作系统，每个运行的任务就是操作系统所做的一件事情，比如你在听歌的同时还在用MSN和好友聊天。听歌和聊天就是两个任务，这个两个任务是“同时”进行的。一个任务一般对应一个进程，也可能包含好几个进程。比如运行的M]]></description><category></category></item><item><title><![CDATA[灌电流和拉电流的概念!!!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5875673</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5875673</guid><author>dayidson</author><pubDate>Fri, 10 Sep 2010 13:59:00 +0800</pubDate><description><![CDATA[<br />看来很多网友都搞不清灌电流和拉电流的概念，下面就此解释一下，希望看过本文后不再就此困扰。<br /><br />一个重要的前提：灌电流和拉电流是针对端口而言的。<br /><br />名词解释——灌：注入、填充，由外向内、由虚而实。渴了，来一大杯鲜榨橙汁，一饮而尽，饱了，这叫“灌”。<br /><br />                 灌电流（sink current） ，对一个端口而言，如果电流方向是向其内部流动的则是“灌电流”，比如一个IO通过一个电阻和一个LED连接至VCC，当该IO输]]></description><category></category></item><item><title><![CDATA[运放相关!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5875136</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5875136</guid><author>dayidson</author><pubDate>Fri, 10 Sep 2010 10:33:00 +0800</pubDate><description><![CDATA[<br /><br />1：运放的输入偏置电流: 为了使运放输入级放大器工作在线性区, 所必须输入的一个直流电流, 在双极晶体管输入的运放, 偏置电流就是输入管的基极电流, 在 MOS 管输入的运放是指栅极漏电流.<br />输入失调电流: 与输入失调电压一样, 都是描述运放差分输入的对称性的. 理想的差分输入应该是完全对称的, 但由于设计和工艺过程的偏差, 正负两个输入端的特性不会完全相同. 这两个失调参数的定义是, 当输出为 0 时两个输入端的输入电压差 (失调电压) 和输入电流-即偏置电流的差 (失调]]></description><category></category></item><item><title><![CDATA[ADC的相关问题!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5875100</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5875100</guid><author>dayidson</author><pubDate>Fri, 10 Sep 2010 10:18:00 +0800</pubDate><description><![CDATA[<br />                                   AD转换器的主要技术指标 <br />1）分辩率(Resolution) 指数字量变化一个最小量时模拟信号的变化量，定义为满刻度与2^n的比值。分辩率又称精度，通常以数字信号的位数来表示。 <br />2）转换速率(Conversion Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD，逐次比较型AD是微秒级属中速AD，全并行/串并行型AD可达到纳秒级。采样时间则是另外一]]></description><category></category></item><item><title><![CDATA[vc 插件!!!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5865657</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5865657</guid><author>dayidson</author><pubDate>Mon, 06 Sep 2010 10:04:00 +0800</pubDate><description><![CDATA[<br />1.Visual Assist（强烈推荐）<br />    http://www.wholetomato.com/<br />     VA从5.0一直到现在的VAX，功能越来越强大，除了以前版本中的自动识别各种关键字，系统函数，成员变量，自动给出输入提示，自动更正大小写错误，自动标示错误等等以外，最新的版本中还在WorkSpace窗口中加入一个VA View，可以更方便的查找工程中的文件、类和变量。vc6 的专家系统很差，2003还马马虎虎，用这个插件可以对第三方库分析，获得动态输入提示，自]]></description><category></category></item><item><title><![CDATA[有关单链表的操作!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5865651</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5865651</guid><author>dayidson</author><pubDate>Mon, 06 Sep 2010 10:03:00 +0800</pubDate><description><![CDATA[<br /><br />单链表类型描述<br />typedef char DataType; //假设结点的数据域类型为字符<br />typedef struct node{   //结点类型定义<br /> DataType data;    //结点的数据域<br /> struct node *next;//结点的指针域<br />}ListNode;<br />typedef ListNode *LinkList;<br />ListNode *p;<br />LinkList head;<br]]></description><category></category></item><item><title><![CDATA[c语言库函数大全!!!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5864983</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5864983</guid><author>dayidson</author><pubDate>Sun, 05 Sep 2010 20:26:00 +0800</pubDate><description><![CDATA[<br />分类函数,所在函数库为ctype.h<br />int isalpha(int ch)  若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0<br />int isalnum(int ch)  若ch是字母('A'-'Z','a'-'z')或数字('0'-'9')<br />                     返回非0值,否则返回0<br />int isascii(int ch)  若ch是字符(ASCII码中的0-127)返回非0值,否则返回0<br />int is]]></description><category></category></item><item><title><![CDATA[itoa atoi 字符串和数字的转换!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5860594</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5860594</guid><author>dayidson</author><pubDate>Fri, 03 Sep 2010 09:56:00 +0800</pubDate><description><![CDATA[<br />C语言提供了几个标准库函数，可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子：<br /><br /># include <stdio.h><br /># include <stdlib.h><br /><br />void main (void)<br />{<br />int num = 100;<br />char str[25];<br />itoa(num, str, 10);<br />printf("The numb]]></description><category></category></item><item><title><![CDATA[计算机内为什么用补码来表示负数.cpu内没有减法器?]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5858384</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5858384</guid><author>dayidson</author><pubDate>Thu, 02 Sep 2010 13:52:00 +0800</pubDate><description><![CDATA[<br />补码是计算机内方便加法运算的编码。注意，为了方便运算计算机采用补码存储数据。<br /><br /><br /><br />例如100(10进制)<br /><br />100/16=6余4<br /><br />6/16=0余6<br /><br />所以100的16进制数是64H<br /><br />以8位二进制来说64H=01100100B<br /><br />正数的补码和原码相同。所以100的补码还是01100100<br /><br />另假设还有个数是-109<br /><br ]]></description><category></category></item><item><title><![CDATA[也许你不知道的宏定义!!!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5858267</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5858267</guid><author>dayidson</author><pubDate>Thu, 02 Sep 2010 13:32:00 +0800</pubDate><description><![CDATA[<br />也许你也不知道～呵呵，最后我还是找到了相关的资料，解读了这个define，还顺便认识了另外两个不常用的define<br /><br />#define Conn(x,y) x##y<br />#define ToChar(x) #@x<br />#define ToString(x) #x<br /><br />x##y表示什么？表示x连接y，举例说：<br />int n = Conn(123,456);   结果就是n=123456;<br />char* str = Conn("asdf]]></description><category></category></item><item><title><![CDATA[单片机C语言实现循环移位!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5858167</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5858167</guid><author>dayidson</author><pubDate>Thu, 02 Sep 2010 13:09:00 +0800</pubDate><description><![CDATA[<br />      大家知道，大家用MCU写程序的时候，只有移位的语句，没有循环移位的语句。那么如何实现循环移位呢，详见下述：<br />      循环移位区别于一般移位的是移位时没有数位的丢失。循环左移时，用从左边移出的位填充字的右端，而循环右移时，用从右边移出的位填充字的左侧。这种情况在系统程序中时有使用，在一些控制程序中用得也不少。　　设有数据说明：<br />　　a=01111011，循环左移2位 正确结果: 11101101<br />　　过程：<br />　　b=a>>(8-2) 用来得到]]></description><category></category></item><item><title><![CDATA[Printf()输出格式控制]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5855988</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5855988</guid><author>dayidson</author><pubDate>Wed, 01 Sep 2010 16:43:00 +0800</pubDate><description><![CDATA[<br /><br />1．转换说明符<br />      %a(%A)     浮点数、十六进制数字和p-(P-)记数法(C99)<br />      %c             字符<br />      %d             有符号十进制整数<br />      %f              浮点数(包括float和doulbe)<br />      %e(%E)     浮点数指数输出[e-(E-)记数法]<br />      %g(%G)     浮点数不显无意义的零"0"<]]></description><category></category></item><item><title><![CDATA[运放的失调电流与失调电压]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5849929</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5849929</guid><author>dayidson</author><pubDate>Mon, 30 Aug 2010 15:47:00 +0800</pubDate><description><![CDATA[<br />如果运放两个输入端上的电压均为0V，则输出端电压也应该等于0V。但事实上，输出端总有一些电压，该电压称为失调电压VOS。如果将输出端的失调电压除以电路的噪声增益，得到结果称为输入失调电压或输入参考失调电压。这个特性在数据表中通常以VOS给出。VOS被等效成一个与运放反相输入端串联的电压源。必须对放大器的两个输入端施加差分电压，以产生0V输出。 <br /><br />VOS随着温度的变化而改变，这种现象称为漂移，漂移的大小随时间而变化。漂移的温度系数TCVOS通常会在数据表中给出，但一些运放数据]]></description><category></category></item><item><title><![CDATA[向量中断  非向量中断 !]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5847747</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5847747</guid><author>dayidson</author><pubDate>Sun, 29 Aug 2010 13:09:00 +0800</pubDate><description><![CDATA[<br />        向量中断就是不同的中断有不同的入口地址，非向量中断就只有一个入口地址，进去了在判断中断标志来识别具体是哪个中断。向量中断实时性好，非向量中断简单。向量者，矢量也，即指方向，门路。<br />        向量中断------由硬件提供中断服务程序入口地址；<br />        非向量中断------由软件件提供中断服务程序入口地址 <br />        非向量中断发生后，VIC中的vecaddr中会存放一个默认中断服务程序的地址，这个程序是被所有的非向量中断公用的，]]></description><category></category></item><item><title><![CDATA[关于 ++i 和 i++ 效率的讨论!!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5843699</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5843699</guid><author>dayidson</author><pubDate>Fri, 27 Aug 2010 14:59:00 +0800</pubDate><description><![CDATA[        第一种说法: 在内建数据类型,这两者的效率是一样的,差别不大. 如果是用户自定义的数据类型时,他们的开销就相差很多了.因为在++i时,可以返回对象的引用.i++时,必须返回对象的值,所以导致在打对象的时候产生较大的开销.如果是自定义的类型(不是内建类型)的时候,应该使用++i的方式.       第二种说法: ++i 不用生成临时变量而 i++要生成临时变量       第三种说法: 只有在必要时才使用后置操作符.++i ,因为前置操作需要做的工作更少，只需要加1后返回加1后的结果即可。i+]]></description><category></category></item><item><title><![CDATA[位段的示例!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5843002</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5843002</guid><author>dayidson</author><pubDate>Fri, 27 Aug 2010 11:21:00 +0800</pubDate><description><![CDATA[ C语言: C中的位段的使用01/*02        DATE : 2010.6.2403        关于C中的位端igned或者int04*/05#include 0607typedefstruct_A08{09         unsigneda:4;//位段成员的类型仅能够为unsigned或者int10         unsigned b:4;11         unsignedc:2;12         unsignedd:6;13         unsignedE:1;14    ]]></description><category></category></item><item><title><![CDATA[Visual C++中error spawning cl.exe错误的两种解决方法.注意第二种!]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5842851</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5842851</guid><author>dayidson</author><pubDate>Fri, 27 Aug 2010 10:50:00 +0800</pubDate><description><![CDATA[可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装，实际上这个问题很多情况下是由于路径设置的问题引起的， “CL.exe”是VC使用真正的编译器（编译程序），其路径在“VC根目录/VC98/Bin”下面， 你可以到相应的路径下找到这个应用程序。 因此问题可以按照以下方法解决:方法一：打开vc界面 点击VC“TOOLS（工具）”—>“Option（选择）” —>“]]></description><category></category></item><item><title><![CDATA[utraledit-32 编译程序.]]></title><link>https://blog.youkuaiyun.com/dayidson/article/details/5842846</link><guid>https://blog.youkuaiyun.com/dayidson/article/details/5842846</guid><author>dayidson</author><pubDate>Fri, 27 Aug 2010 10:49:00 +0800</pubDate><description><![CDATA[<br />在visual c++下,每编写一个简单的小程序,就得生成一大串中间文件，另人十分的不爽。下面提供一个新的编写c/c++程序的方法：<br />（1），下载utraledit-32编辑器，推荐v11.<br />（2），在utraledit-32中，分别点击菜单：高级－工具配置，出现一个dialog，用来设置用户自定义的菜单项。我们的想法是，设置一个编译菜单和运行菜单项，分别用来编译在utraledit-32编写的c/c＋＋源文件。这样，在utraledit-32中编写好程序后，点击这两个菜单，]]></description><category></category></item></channel></rss>