📄 usbhost_main.c
字号:
/*
**************************************************************************************************************
* NXP USB Host Stack
*
* (c) Copyright 2008, NXP SemiConductors
* (c) Copyright 2008, OnChip Technologies LLC
* All Rights Reserved
*
* www.nxp.com
* www.onchiptech.com
*
* File : usbhost_main.c
* Programmer(s) : Ravikanth.P
* Version :
*
**************************************************************************************************************
*/
/*
**************************************************************************************************************
* INCLUDE HEADER FILES
**************************************************************************************************************
*/
#include "usbhost_main.h"
/*
**************************************************************************************************************
* MAIN FUNCTION
*
* Description: This function is the main function where the execution begins
*
* Arguments : None
*
* Returns :
*
**************************************************************************************************************
*/
int main()
{
USB_INT32S rc;
UART_Init(115200); /* Initialize the serial port to view the log messages */
Host_Init(); /* Initialize the lpc2468 host controller */
rc = Host_EnumDev(); /* Enumerate the device connected */
if (rc == OK) {
rc = MS_Init(); /* Initialize the mass storage and scsi interfaces */
if (rc == OK) {
rc = FAT_Init(); /* Initialize the FAT16 file system */
if (rc == OK) {
Main_Copy(); /* Call the application */
} else {
return (0);
}
} else {
return (0);
}
} else {
return (0);
}
while(1);
}
/*
**************************************************************************************************************
* READ DATA FROM DISK
*
* Description: This function is used by the user to read data from the disk
*
* Arguments : None
*
* Returns : None
*
**************************************************************************************************************
*/
void Main_Read (void)
{
USB_INT32S fdr;
USB_INT32U bytes_read;
fdr = FILE_Open(FILENAME_R, RDONLY);
if (fdr > 0) {
PRINT_Log("Reading from %s...\n", FILENAME_R);
do {
bytes_read = FILE_Read(fdr, UserBuffer, MAX_BUFFER_SIZE);
} while (bytes_read);
FILE_Close(fdr);
PRINT_Log("Read Complete\n");
} else {
PRINT_Log("Could not open file %s\n", FILENAME_R);
return;
}
}
/*
**************************************************************************************************************
* WRITE DATA TO DISK
*
* Description: This function is used by the user to write data to disk
*
* Arguments : None
*
* Returns : None
*
**************************************************************************************************************
*/
void Main_Write (void)
{
USB_INT32S fdw;
USB_INT32S fdr;
USB_INT32U tot_bytes_written;
USB_INT32U bytes_written;
fdr = FILE_Open(FILENAME_R, RDONLY);
if (fdr > 0) {
FILE_Read(fdr, UserBuffer, MAX_BUFFER_SIZE);
fdw = FILE_Open(FILENAME_W, RDWR);
if (fdw > 0) {
tot_bytes_written = 0;
PRINT_Log("Writing to %s...\n", FILENAME_W);
do {
bytes_written = FILE_Write(fdw, UserBuffer, MAX_BUFFER_SIZE);
tot_bytes_written += bytes_written;
} while (tot_bytes_written < WRITE_SIZE);
FILE_Close(fdw);
PRINT_Log("Write completed\n");
} else {
PRINT_Log("Could not open file %s\n", FILENAME_W);
return;
}
FILE_Close(fdr);
} else {
PRINT_Log("Could not open file %s\n", FILENAME_R);
return;
}
}
/*
**************************************************************************************************************
* COPYING A FILE
*
* Description: This function is used by the user to copy a file
*
* Arguments : None
*
* Returns : None
*
**************************************************************************************************************
*/
void Main_Copy (void)
{
USB_INT32S fdr;
USB_INT32S fdw;
USB_INT32U bytes_read;
fdr = FILE_Open(FILENAME_R, RDONLY);
if (fdr > 0) {
fdw = FILE_Open(FILENAME_W, RDWR);
if (fdw > 0) {
PRINT_Log("Copying from %s to %s...\n", FILENAME_R, FILENAME_W);
do {
bytes_read = FILE_Read(fdr, UserBuffer, MAX_BUFFER_SIZE);
FILE_Write(fdw, UserBuffer, bytes_read);
} while (bytes_read);
FILE_Close(fdw);
} else {
PRINT_Log("Could not open file %s\n", FILENAME_W);
return;
}
FILE_Close(fdr);
PRINT_Log("Copy completed\n");
} else {
PRINT_Log("Could not open file %s\n", FILENAME_R);
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -