嵌入式系統(tǒng)數(shù)據(jù)的U盤存儲
目前,基于USB2.0接口的移動存儲設備已經(jīng)被廣泛的使用,USB移動存儲設備比較常見的如:U盤,移動硬盤等等一些大容量移動存儲設備。我們的USB存儲設備,往往作為slave設備與host設備配合使用。也許我們接觸最多的就是用PC進行U盤的讀寫功能,如果我們做石油、水文、交通、工業(yè)現(xiàn)場等場合的數(shù)據(jù)采集存儲,脫離電腦,我們能否使用USB移動存儲設備來存儲海量的信息?答案是毋庸置疑的。
嵌入式電子產(chǎn)品的功能和應用是產(chǎn)品能否爭奪市場的決定性因素,在性能穩(wěn)定可靠的同時,開發(fā)周期更是市場拓展的先機。USB118AD是一款可嵌入系統(tǒng)的小型USB讀寫模塊,通過USB118AD的十四條精簡命令,不用了解USB通信協(xié)議,便可以方便的為嵌入式系統(tǒng)開發(fā)U盤存儲的擴展。
尺寸:51.6*43*12mm
USB118AD是集成了ARM7數(shù)據(jù)處理器,只需嵌入式系統(tǒng)通過自身的串口(USATR)簡單的發(fā)送十四條簡短指令,便可以對USB移動設備進行讀取存儲功能。其中串口包括異步串行接口(UATR)和同步串行接口(SPI)。存儲速率滿足不同需求,RS232串口波特率:9600\57600\115200。SPI接口150k byte\sec。支持文件系統(tǒng)FAT16\FAT32,可以創(chuàng)建word\excel\bin等各種類型文件。
下面以51單片機AT89C51舉個例子,進行對U盤的進行進行簡單的檢測操作
MCS-51單片機C語言示例程序 :
#include <REG51.h>
#include <stdio.h>
#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};
//可以添加其他需要增添的命令(預設命令)
/*******************************************************************
主函數(shù)入口
功 能:使發(fā)光二極管閃爍
入口參數(shù):無
出口參數(shù): 無
********************************************************************/
void main()
{
SP = 0x60; //堆棧指針
Init_com(); //初始化串口
LED_bbing(); //測試用
while(1)
{
Send_Data(Detect); //發(fā)送檢測U盤指令
if(Receive_Data(0x04,0) == 1) //04檢測U盤命令代碼,命令是否成功執(zhí)行,是則繼續(xù)執(zhí)行
{
delay_xms(200);
break;
}
}
}
/*******************************************************************
LED閃爍燈
功 能:使發(fā)光二極管閃爍
入口參數(shù):無
出口參數(shù): 無
********************************************************************/
void LED_bbing(void)
{
int a=0;
while(a<4)
{
P3_5 = ~P3_5; //調試指示燈
delay_xms(50); //延時0.2秒
a++;
}
}
以上例程是對U盤的檢測程序,更多技術信息請關注http://www.dataie.com