...
Including µC/FTPc Stack Source Code
As indicated in the Figure - FTPc Folder Tree, all the files in the "Source" folder of the µC/FTPc parent directory must be added to your project tree.
...
\Micrium\Software\uC-FTPc
...
Copy the file from the µC/FTPc configuration folder into your application as illustrated below.
Panel | ||
---|---|---|
| ||
Adding µC/FTPc Example Application Code
...
The example bellow demonstrates the µC/FTPc module capabilities in both standard and secure mode. The client connects to a remote FTP server in standard mode, perform file download and upload operations before closing the connection.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#define FTP_SERVER_IP_ADDR "192.168.1.101"
#define FTP_SERVER_PORT 21
#define FTP_SERVER_PORT_SECURE 990
#define FTPc_USERNAME "anonymous"
#define FTPc_PASSWORD "test123micrium"
#define FTPs_COMMON_NAME "micrium.com"
#define RX_FILE_REMOTE "file_remote_1"
#define RX_FILE_LOCAL "\\file_local"
#define TX_FILE_REMOTE "file_local"
#define TX_FILE_LOCAL "\\file_remote_2"
#define FTPc_BUF_LEN_MAX 4096
#if (NET_SECURE_CFG_EN == DEF_ENABLED)
static FTPc_SECURE_CFG ftpc_secure_cfg;
#endif
static void AppTaskStart (void *p_arg) /* See Note #1. */
{
FTPc_CONN conn;
CPU_BOOLEAN result;
FTPc_ERR err_ftpc;
#if (FTPc_CFG_USE_FS != DEF_ENABLED)
CPU_INT08U buf[FTPc_BUF_LEN_MAX];
CPU_INT32U file_size;
#endif
result = FTPc_Open(&conn, /* See Note #2. */
DEF_NULL,
DEF_NULL,
FTP_SERVER_IP_ADDR,
FTP_SERVER_PORT,
FTPc_USERNAME,
FTPc_PASSWORD,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_Open() failed.\n\r");
return;
}
#if (FTPc_CFG_USE_FS == DEF_ENABLED)
result = FTPc_RecvFile(&conn, /* See Note #3. */
RX_FILE_REMOTE,
RX_FILE_LOCAL,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_RecvFile() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
result = FTPc_SendFile(&conn, /* See Note #4. */
TX_FILE_REMOTE,
TX_FILE_LOCAL,
DEF_FALSE,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_SendFile() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
#else
result = FTPc_RecvBuf(&conn, /* See Note #3. */
RX_FILE_REMOTE,
&buf[0],
FTPc_BUF_LEN_MAX,
&file_size,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_RecvBuf() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
result = FTPc_SendBuf(&conn, /* See Note #4. */
TX_FILE_REMOTE,
&buf[0],
file_size,
DEF_NO,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_SendBuf() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
#endif
result = FTPc_Close(&conn, &err_ftpc); /* See Note #5. */
if (result != DEF_OK) {
printf("FTPc_Close() failed.\n\r");
return;
}
} |
Panel | ||
---|---|---|
| ||
|