- 博客(22)
- 资源 (20)
- 收藏
- 关注
原创 C语言指针与数组
一维数组 与 指针1.C语言规定:如果指针变量p已指向同一数组中的下一个元素,见下:定义: int dates[4], *p;那么:dates+2=&dates[2]; *(dates+2)=dates[2];延伸:如果:p=&dates[n]; 那么:p+i 就指向 &dates[n+i]; *(p+i)就指向 dat
2012-02-21 16:16:22
1001
原创 C文件之四 文件的随机读/写
文件的随机读/写 要实现文件随机读写, 位置指针的随机移动是关键, 也就是文件位置指针可以根据读写 需要可以方便的定位到文件的任意位置。 设定文件内部位 置指针的函数主要有两个,即rewind函数和?fseek函数。 rewind(文件指针): 它的功能是把文件内部的位置指针移到文件首。 fseek函数用
2012-02-15 17:12:58
1049
原创 C文件之三 文件的读写
文件的格式化读写 1.格式化写函数 fprintf fprintf函数的功能是将数据按指定的格式输出到指定文件中,其调用形式为: fprintf(文件指针,格式化字符串,输出表列) 其中格式化字符串和输出表列,与标准输出函数printf中要求一致。 例如: fprintf(fp,”stuno is%d,score is%f”
2012-02-15 17:09:23
927
原创 C文件之二 字符串读写
字符串读写/* 1.读字符串函数fgets 函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:fgets(字符数组名,n,文件指针);其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'。 例如:fgets(str,n,fp) 函数的意义是从fp所指的文件
2012-02-15 16:58:41
2524
原创 C文件之一 字符的读写
C文件之一 字符的读写/*1.文件的打开(fopen函数)fopen函数用来打开一个文件,其调用的一般形式为:文件指针=fopen(文件名,文件操作方式);例如:FILE *fpinfpin=("c:\\input.dat","rb")其意义表示打开磁盘驱动器C盘的根目录下的文件input.dat, 并设置为只允许按二进制 方式进行读操作。对文件操作,第一步必须先打开。
2012-02-15 11:39:54
2976
原创 scanf 与 gets()的区别
//作用字母的大小写切换。#include#define MAX_SIZE 10//void shuchuzifuchuan (char str[]);void shuchuzifuchuan (char *p);void main(){ c
2011-08-16 23:05:03
869
原创 C++学习笔记 数组字符串
<br />1.cin语句认为空格是字符串的结尾。<br /> 比如:输出hello world。 只能输出hello<br />解决上面的方法:<br />a。gets(): 该函数在接收字符的时候,不会放过任何一个字符,包括空格。<br />b。cin.get().他有3个参数:<br /> 第一个参数:数组名或用户输入的变量。<br /> 第二个参数:最大字符数。改字符通常要加1,因为多出来的1要保存'/0'。<br /> 第三个参数:终止限定输入符。默认为/n,也就是遇到enter键
2011-03-29 11:47:00
794
原创 C++学习笔记 堆中的指针数组
1.栈的内存都有有限的,但是堆得内存很大,为避免栈的内存开销,我们都把整个对象都存放在堆中,那么在堆中区声明一个对象方法是: area *one=new area;new: 操作符,它用来生成某种类型的一个对象,通常这个对象在堆中生成。* one:声明了一个指向堆中的新对象的指针one。area:(new后面的)代表在堆中创建的属于类area的对象。因为堆中所有成员都是匿名的,因此它没有名字,不能按名字访问,只能通过指针(one)访问。2.删除堆中的数组: 只需要舒服delete[]即可,然
2011-03-28 18:11:00
1371
原创 C++学习笔记 数组对象
<br /> 在类中可以使用数组,也可以将数组作为类的对象<br /> <br />a.直接在声明数组对象的时候初始化对象成员<br />#include<iostream><br />using namespace std;<br />class area<br />{<br />public:<br /> area(int l, int w){length=l;width=w;cout<<"调用析构函数设置长和宽的值"<<endl;}<br /> ~area(){cout<<"调用析构函数
2011-03-27 01:35:00
1004
转载 (转)C++总结 ----- 虚函数和多态性(一)
<br />挑战30天C/C++》这样解释:<br /> 多态的这个概念稍微有点模糊,如果想在一开始就想用清晰用语言描述它,让读者<br />能够明白,似乎不太现实,所以我们先看如下代码:<br />//程序作者:管宁 <br />//站点:www.cndev-lab.com <br />//所有稿件均有版权,如要转载,请务必著名出处和作者 <br />//例程1 <br />#include <iostream> <br />using namespace std; <br />class Vehicle
2011-03-25 10:49:00
908
原创 c++算法学习笔记 之------- 冒泡法,二分法
第一:二分法 将一个拍好序列的数组,不断分成两半,然后再可能包含我们所要查找的值的那一部分中搜索。 缺点: 1.如果数据里面有两个或两个以上的相同元素,那么二分法就会不确定返回数组的那个值(下标)。 2.要求数组必须是有序的,要么从小到大,要么从大到小。检测数组是否按照顺序排列:#includeusing namespace std;bool add(int a[], int m);int main(){ int a[]={12,23,34,51,3,4,5}; co
2011-03-25 09:44:00
901
转载 c++构造函数解析
<br /> c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。<br /> c++类的构造函数详解 <br /><br />一、 构造函数是干什么的<br /><br />class Counter<br />{<br /
2011-03-19 23:24:00
700
转载 电阻式触摸屏结构和实现原理
<br />电阻式触摸屏结构和实现原理2007-07-01 18:09<br />很多LCD模块都采用了电阻式触摸屏,这些触摸屏等效于将物理位置转换为代表X、Y坐标的电压值的传感器。通常有4线、5线、7线和8线触摸屏来实现,本文详细介绍了SAR结构、四种触摸屏的组成结构和实现原理,以及检测触摸的方法。<br /> <br />电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。很多LCD模块都采用了电阻式触摸屏,这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置
2011-01-04 00:07:00
1695
原创 触摸屏驱动学习笔记 一
<br /><br /><br />第一:四线式电阻式触摸屏原理<br /><br /><br /><br /><br /><br /> S3C2440而言:在直接试用触摸屏的是时,引脚XP、XM、XP和YM被用于和触摸屏直接相连。只剩下AIN[3:0]共4个引脚用于一般的ADC输入;当不使用的时候,XP、XM、XP和YM也可用于一般的ADC输入。<br /> S3C2440的触摸屏接口可以驱动成四线电阻触摸屏,四线触摸屏的等效电路如图:14.4所示。图中粗线表示相互绝缘的两层导电层,当按下时,他们
2011-01-02 17:28:00
2863
原创 2440 按键中断
很开心,按键中断终于基本搞定了,下面将自己的心得分享下:中断驱动书写流程: 1.编写本驱动库的入口函数。DllEntry()。 2.设置物理地址到虚拟地址映射。原因wince启动后是对虚拟地址操作。EINT_InitializeAddresses。 3.配置中断引脚EINT_ConfigInterruptPin()。 4.创建一个线程,指定线程函数,并获得句柄。gEINTIntread=CreateThread(). 5.根据ISR获得一个SYSINTR(逻辑中断),所用函数为:Kern
2010-12-26 01:34:00
2197
原创 流式驱动的几个小问题
<br />一直对几个概念不清楚,见天测试了下,记下来。<br />一下我们建立的文件夹是:Pwrbutton, 函数名字是:pwrbtn2440<br />1。platform.reg文件中:<br />IF BSP_NOPWRBTN !<br />[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/pwrbtn2440] <br /> "Dll"="pwrbtn2440.dll"<br /> "Prefix"="DSK"<br /> "Index"=dword:2<br
2010-12-17 23:16:00
968
原创 心情随发--学习wince的路程
<br /> 到今天为止,接触到ARM都有5个月了,以前是放着,没怎么学,想想从公司实习回来,只是学习了基本的流程,至于驱动什么的根本不懂,那天第一次听到老总说什么用EVC边个界面程序,天啦,我黑了,什么事EVC啊,呵呵,不会啊,羞涩的拒绝了,之前没弄过VC,慢慢以后的工作中知道怎么下载程序了,不过还是不知道怎么学习。<br /> 很快,请假的时间到了,要回学校了,回到学校后,我就慢慢的看了,记得这时候都10月中旬了,PB软件的没安装好,呵呵,很多都不会,可悲的是烧写NK。的时候,烧错了,板子用不
2010-12-15 20:01:00
775
原创 GPIO的驱动注册表
一个驱动至少包括: 这里我们建立驱动的名字为:FlowLED.cpp .def MakeFile sources (驱动里面写) .reg .bib (在对应的下面修改) 创建Makefile和Sources和.def文件 这三个文件主要是来控制编译的:Makefile 只需要这样一行(所有流式驱动都一样): !INCLUDE $(_MAKEENVROOT)/makefile.def 作用:负责帮助开发人员简化代码的编译、链接等构建工作。
2010-12-03 21:19:00
1100
原创 应用程序如何调用驱动程序
<br />下面针对流式程序:<br />流式程序主要是对IO口进行控制的。下面主要是对LED的控制。<br /> 在驱动程序里面有个xxx_iocontrol()函数(xxx为驱动的名字),这个函数主要是对IO口的控制,<br />你要对IO口实现怎样的控制都可以在这里编写。比如:<br />BOOL LED_IOControl(DWORD hOpenContext, //XXX_Open返回给上层的那个句柄<br /> DWORD dwCode, //IO操作码<br />
2010-12-03 15:29:00
10300
原创 wince下GPIO的的访问
<br /> 因为在WINCE下能够直接访问的都是虚拟地址,不能直接访问GPIO端口,因此我们首先需要将GPIO口的物理地址映射到虚拟地址上来。 <br /> 用下面的函数,就可以对他们进行分配:<br /> volatile S3C2440A_IOPORT_REG *v_pIOPregs ;<br /> BOOL mInitialized;<br /> bool InitializeAddresses(VOID); // Virtual allocation<br /><
2010-12-02 13:07:00
3149
转载 Windows CE嵌入式导航系统研究(内核相关)(转)
<br />.1 嵌入式车载导航系统的软件设计流程<br />嵌入式车载系统软件主要包括系统内核、驱动程序、应用程序三部分。设计的过程当中,我们采用瀑布模型进行设计,首先制定Windows CE5.0系统内核,再次编写相关设备驱动,最后编写或移植应用程序。<br />制定内核时,我们采用SunSaung2440 BSP(板级支持包)进行制定,同时提交组建保证系统支持网络通讯、文件系统、CAB包安装、汉语支持等功能。不仅如此,为方便系统应用程序开发,内核制定之后,我们发布相应的SDK。<br /> <br /
2010-12-01 20:58:00
3373
转载 如何在 Windows CE 5.0 中开发和测试设备驱动程序
<br />第一部分:建立设备驱动程序<br />在本练习中,您将使用 Platform Builder 来添加作为设备驱动程序的项目。<br />在开始编写驱动程序之前,您应该了解设备驱动程序的用途。驱动程序将基础硬件从操作系统中抽象出来,使之更好地面对应用程序开发人员。应用程序开发人员无需知道显示硬件或串行硬件的详细信息 — 例如,串行设备是用 Universal Asynchronous Receiver/Transmitter (UART) 实现的还是用 field-programmable gat
2010-11-26 01:31:00
860
字符串的各个函数写法
2012-05-28
写给大家看的C语言书
2011-12-12
结构体嵌套(c语言)
2011-11-25
adc0809ADC+proteus电压采集数码管显示
2011-11-24
UCOS 删除任务实验(proteus仿真)
2011-11-03
UCOS+UCGUI学习资料(任哲,邵贝贝等)
2011-11-02
MiniSTM32开发板扩展例程
2011-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人