摘要: /*初始化单链表,并在只遍历一次的情况下倒序*/#include<stdio.h>#include<stdlib.h>typedef struct Node{int data;struct Node *next;}node;struct Node * nodeinit(void) //构建单链表{node *head,*p,*q;head=(node*)malloc(sizeof node);int x=0,n=0;while(1){printf("input the number:\n");scanf("%d",&x); 阅读全文
posted @ 2011-11-24 23:00 auleaf 阅读(391) 评论(0) 推荐(0) 编辑
摘要: RFID智能卡识别系统(频率115200,把终端当作U盘挂载进服务器)射频识别即RFID(Radio Frequency IDentification)技术,又称电子标签、无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。1.项目概述:用嵌入式S3C2410实验箱+ZLG522S/t读卡模块的硬件配置,来实现对mifare1S70卡里的数据进行操作,mifare1S70卡有16个扇区,其中有15个扇区的数据都可以让我们进行识别或者操作。本次项目是利用我们的S3C2410开发箱和ZLG522S/t读卡模块,来实现嵌入式公交卡 阅读全文
posted @ 2011-11-24 21:25 auleaf 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 二、任务堆栈 1 数据类型:任务堆栈的数据类型:OS_STKOS_CFG.H中定义的) 2 定义堆栈: 定义一个OS_STK类型的数组就可以。 #define TASK_STK_SIZE 512; //定义堆栈的长 OS_STK TaskStk[TASK_STK_SIZE]; //定义一数组作为任务堆栈 3 关联: 当调用OSTaskCreate()创建一个任务时,把数组的指针传递给函数中的堆栈栈顶参数ptos,就可以把数组与任务关联起来而称为该任务的堆栈了。 4 堆栈增长方向: 向上增长:ptos为TaskStk[0] 向下增长:ptos为Task... 阅读全文
posted @ 2011-11-21 01:10 auleaf 阅读(789) 评论(0) 推荐(0) 编辑
摘要: UC/OS-II操作系统内核的主要工作就是对任务进行管理和调度。 1、任务的概念 从应程设计的角度来看,UC/OS-II的任务就是一个线程,就是一个用来解决用户问题的C语言函数和与之相关联的一些数据结构而构成的一个实体。 2、任务的状态 因为在嵌入式系统中只有一个CPU,所以在一个具体时刻只能允许一个任务占用CPU.根据任务是否占用CPU,以及是否处于被中断、等待等情况,任务会处于其中一个任务状态。5种状态: ·睡眠状态:任务只以代码的形式驻留在程序空间,还没交给操作系统管理。 ·就绪状态:系统为任务配备了任务控制块且在任务就绪表中进行了就绪登记。 ·运行状态:就 阅读全文
posted @ 2011-11-21 01:05 auleaf 阅读(446) 评论(0) 推荐(0) 编辑
摘要: S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。 核心板的尺寸仅相当于名片的2/3大小,尺寸如此小巧的嵌入式核心板是国内首... 阅读全文
posted @ 2011-11-19 00:37 auleaf 阅读(519) 评论(0) 推荐(0) 编辑
摘要: ARM9主要包括ARM9TDMI和ARM9E-S等系列。 新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。 (一) 时钟频率的提高: ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。 (二) 指令周期的改进: 指令周期的改进对于处理... 阅读全文
posted @ 2011-11-19 00:26 auleaf 阅读(1257) 评论(0) 推荐(0) 编辑
摘要: FlashROM,快速擦写只读编程器。也就是我们常说的“闪存”,所谓“闪存”,它也是一种非易失性的内存,属于EEPROM的改进产品。它的最大特点是必须按块(Block)擦除(每个区块的大小不定,不同厂家的产品有不同的规格), 而EEPROM则可以一次只擦除一个字节(Byte)。目前“闪存”被广泛用在PC机的主板上,用来保存BIOS程序,便于进行程序的升级。其另外一大应用领域是用来作为硬盘的替代品,具有抗震、速度快、无噪声、耗电低的优点,但是将其用来取代RAM就显得不合适,因为RAM需要能够按字节改写,而Flash ROM不需要。SDRAM:同步动态随机存储器,同步是指 Memory工作需要.. 阅读全文
posted @ 2011-11-18 19:09 auleaf 阅读(1125) 评论(0) 推荐(0) 编辑
摘要: 一 Nor的特点是芯片内执行,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵,Nor的代码效率很高,在1-4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。 Nand结构能够提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用Nand的困难在于falsh的管理和需要特殊的系统接口。优点:大存储容量,而且便宜。缺点:就是无法寻址直接运行程序,只能存储数据。另外NAND Flash非常容易出现坏区,所以需要有校验的算法。 任何flash器件的写入操作只... 阅读全文
posted @ 2011-11-18 17:04 auleaf 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>union node //联合体union的存放顺序是所有成员都从低地址开始存放。{ int i; char a;};int main(){ node num={0}; num.i=1; int k=0; k=(num.a)?1:0; //若为小端模式,则a应该是1,表达式返回1; printf("%d\n",k); return 0;} 阅读全文
posted @ 2011-11-14 16:25 auleaf 阅读(1624) 评论(0) 推荐(0) 编辑
摘要: 任何代码的美丽不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。本文向你介绍规范你的C代码的10种方法。1. 避免不必要的函数调用考虑下面的2个函数:void str_print( char *str ){ int i; for ( i = 0; i < strlen ( str ); i++ ) { printf("%c",str[ i ] ); }}void str_print1 ( char *str ) { int len; le 阅读全文
posted @ 2011-11-04 10:06 auleaf 阅读(136) 评论(0) 推荐(0) 编辑