嵌入式系统数据的U盘存储 目前,基于USB2.0接口的移动存储设备已经被广泛的使用,USB移动存储设备比较常见的如:U盘,移动硬盘等等一些大容量移动存储设备。我们的USB存储设备,往往作为slave设备与host设备配合使用。也许我们接触多的就是用PC进行U盘的读写功能,如果我们做石油、水文、交通、工业现场等场合的数据采集存储,脱离电脑,我们能否使用USB移动存储设备来存储海量的信息?答案是毋庸置疑的。 嵌入式电子产品的功能和应用是产品能否争夺市场的决定性因素,在性能稳定可靠的同时,开发周期是市场拓展的先机。USB118AD是一款可嵌入系统的小型USB读写模块,通过USB118AD的十四条精简命令,不用了解USB通信协议,便可以方便的为嵌入式系统开发U盘存储的扩展。 尺寸:51.6*43*12mm USB118AD是集成了ARM7数据处理器,只需嵌入式系统通过自身的串口(USATR)简单的发送十四条简短指令,便可以对USB移动设备进行读取存储功能。其中串口包括异步串行接口(UATR)和同步串行接口(SPI)。存储速率满足不同需求,RS232串口波特率:9600\57600\115200。SPI接口150k byte\sec。支持文件系统FAT16\FAT32,可以创建word\excel\bin等各种类型文件。 下面以51单片机AT89C51举个例子,进行对U盘的进行进行简单的检测操作 MCS-51单片机C语言示例程序 : #include #include #define uchar unsigned char #define uint unsigned int //命令(预设命令) uchar code Detect[66]={0xaa,0xbb, 0x01,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; //可以添加其他需要增添的命令(预设命令) /******************************************************************* 主函数入口 功 能:使发光二管闪烁 入口参数:无 出口参数: 无 ********************************************************************/ void main() { SP = 0x60; //堆栈指针 Init_com(); //初始化串口 LED_blinking(); //测试用 while(1) { Send_Data(Detect); //发送检测U盘指令 if(Receive_Data(0x04,0) == 1) //04检测U盘命令代码,命令是否成功执行,是则继续执行 { delay_xms(200); break; } } } /******************************************************************* LED闪烁灯 功 能:使发光二管闪烁 入口参数:无 出口参数: 无 ********************************************************************/ void LED_blinking(void) { int a=0; while(a<4) { P3_5 = ~P3_5; //调试指示灯 delay_xms(50); //延时0.2秒 a++; } } 以上例程是对U盘的检测程序,多技术信息请关