摘要:
在c语言中,我们经常面临需要将字符串转换为整型,以及将整型转化为字符串的问题。将字符串转换为整数的函数在stdlib.h中定义:int atoi(const char *str);atoi函数会跳过str中前面出现的空格,从第一个数字开始转换。下面是我的实现:[cpp] view plaincopyprint?intmy_atoi(constchar*str){//argumentcheckfirst! assert(NULL!=str);intret=0,sign=1;//skiptabandspace for(;*str==''||*str=='\t';st 阅读全文
posted @ 2012-08-19 15:51
啊德Blog
阅读(69412)
评论(0)
推荐(3)
摘要:
SD卡调试关键点: SD调试注意点1.上电时要延时足够长的时间给SD卡一个准备过程,在我的程序里是5秒,根据不同的卡设置不同的延时时间。SD卡初始化第一步在发送CMD命令之前,在片选有效的情况下首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。2.SD卡发送复位命令CMD0后,要发送版本查询命令CMD8,返回状态一般分两种,若返回0x01表示此SD卡接受CMD8,也就是说此SD卡支持版本2;若返回0x05则表示此SD卡支持版本1。因为不同版本的SD卡操作要求有不一样的地方,所以务必查询SD卡的版本号,否则也会出现SD卡无法正常工作的问题。3.理论上要求发送CMD58获得SD卡电 阅读全文
posted @ 2012-08-19 15:24
啊德Blog
阅读(676)
评论(0)
推荐(0)
摘要:
指针相关运用转自:http://blog.csdn.net/snowq/archive/2008/01/17/2050129.aspx最近写了一个小程序,遇到一点小问题,是关于指向字符串的指针的。由此一发不可收拾,好奇心驱使我决定研究一下指针的初始化和赋值规则。略有所得之后,执笔记下,以备后用。1、指针的初始化初看起来,指针的初始化和赋值好像很混乱,又是*,又是&,时不时又出来一个数组。其实总结起来很简单:int *p;int a=25;int b[10];int *m=&a;int *n=b;int *r=&b[0];指针的定义如上所示,以*打头的变量代表该变量为指针 阅读全文
posted @ 2012-08-19 15:22
啊德Blog
阅读(192)
评论(0)
推荐(0)
摘要:
字符串 转换大全c语言字符串 数字转换函数大全最近学数据结构老是做实验常用到字符串和数字的转换想找却发现网上的资料太散所以搜集整理一下 方便以后再用atof(将字符串转换成浮点型数)atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)strtod(将字符串转换成浮点数)strtol(将字符串转换成长整型数)strtoul(将字符串转换成无符号长整型数)toascii(将整型数转换成合法的ASCII 码字符)toupper(将小写字母转换成大写字母)tolower(将大写字母转换成小写字母) atof(将字符串转换成浮点型数)相关函数 atoi,atol,strtod,strtol 阅读全文
posted @ 2012-08-19 15:13
啊德Blog
阅读(392)
评论(0)
推荐(0)
摘要:
详解C中volatile关键字volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:shortflag;voidtest(){do1();while(flag==0);do2();}这段程序等待内存变量flag的值变为1(怀疑此处是0,有点疑问,)之后才运行do2()。变量flag的值由 阅读全文
posted @ 2012-08-19 15:08
啊德Blog
阅读(299)
评论(0)
推荐(0)
摘要:
单片机实现软件复位(软复位)的方法及讨论(转)http://hi.baidu.com/wxdpj/blog/item/9707c7823631cdab0cf4d2a7.html单片机软复位有什么好的方法?如从机收到复位命令(软件命令),程序怎么使机器复位?虽然要使软件始终处于可控状态,最好不要用"复位",因为复位是纯硬件过程,软件是不可控的.但是我们还是要讨论方法,一般流传的方法如下:1、放狗;2、((void(code*)(void))0x0000)();3、用单片机一个引脚控制点一下RSTRST;4、用单片机一个引脚控制重新加电;5、用单片机自带的软件复位指令或内狗指令 阅读全文
posted @ 2012-08-19 15:03
啊德Blog
阅读(8674)
评论(0)
推荐(0)
摘要:
复位电路的几种设计http://hi.baidu.com/wxdpj/blog/item/bde5b97fe948d50e28388ac6.html复位源是导致单片机内部复位操作的源泉,大致可分为七种:上电复位(POR)﹑人工复位(MRST)﹑电源欠电压复位(LVR)﹑看门狗复位(WDR)﹑软件复位(SWR)﹑软硬件复位(SHR)﹑和非法地址复位(IAR)。一﹑上电复位电路上电复位的实质是上电延时复位,也就是在上电延时期间把CPU锁定在复位状态上,就是为了弥补由于电源滤波电容存在使单片机电源由低到高逐渐上升的时间。如下图示就是利用RC支路的充电时间而形成的常用的上电复位电路。在每次单片机断电之 阅读全文
posted @ 2012-08-19 14:58
啊德Blog
阅读(6313)
评论(0)
推荐(0)
摘要:
data,bdata,idata,pdata,xdata,code存储类型与存储区bit是在内部数据存储空间中20H..2FH区域中一个位的地址,或者8051位可寻址SFR的一个位地址。code是在0000H..0FFFFH之间的一个代码地址。data是在0到127之间的一个数据存储器地址,或者在128..255范围内的一个特殊功能寄存器(SFR)地址。idata是0to255范围内的一个idata存储器地址。xdata是0to65535范围内的一个xdata存储器地址。指针类型和存储区的关系详解一、存储类型与存储区关系data--->可寻址片内rambdata--->可位寻址的片 阅读全文
posted @ 2012-08-19 14:55
啊德Blog
阅读(6076)
评论(0)
推荐(0)
摘要:
1) class1,class3,class9:SPI模式不支持!2) 继SD1.1之后又推出了SD2.0,主要特性是支持更大容量。SD1.1中卡容量存放于CSD寄存器中, 而由于其规范中相关域的值较小,固最大只能表示2G地址。随着Nand容量的大大提高, SD1.1已经不适合潮流,因而推出了SD2.0。 初始化流程大同小义,只需要CMD0之后再加上CMD8命令的识别。SD1.1不支持CMD8, 而SD2.0的CMD8能读到卡的接口信息。如果卡响应CMD8为无效命令,则走SD1.1的流程, 可能是SD1.1或MMC。如CMD8响应正确,则很可能是SD2.0了。3) SD卡具有安全加密功能,内置 阅读全文
posted @ 2012-08-19 11:36
啊德Blog
阅读(753)
评论(0)
推荐(0)
浙公网安备 33010602011771号