📄 test.c
字号:
#include <string.h>
#include <LPC214X.H>
#include "lpc_config.h"
#include "efs.h"
#include "ls.h"
#include "mkfs.h"
#include "uart1.h"
#include "rtc.h"
#include "eeprom.h"
#include "delay.h"
//static char LogFileName[] = "logdat9.csv";
static void systemInit(void)
{
// --- enable and connect the PLL (Phase Locked Loop) ---
// a. set multiplier and divider
PLL0CFG = MSEL | (1<<PSEL1) | (0<<PSEL0);
// b. enable PLL
PLL0CON = (1<<PLLE);
// c. feed sequence
PLL0FEED = PLL_FEED1;
PLL0FEED = PLL_FEED2;
// d. wait for PLL lock (PLOCK bit is set if locked)
while (!(PLL0STAT & (1<<PLOCK)));
// e. connect (and enable) PLL
PLL0CON = (1<<PLLE) | (1<<PLLC);
// f. feed sequence
PLL0FEED = PLL_FEED1;
PLL0FEED = PLL_FEED2;
// --- setup and enable the MAM (Memory Accelerator Module) ---
// a. start change by turning of the MAM (redundant)
MAMCR = 0;
// b. set MAM-Fetch cycle to 3 cclk as recommended for >40MHz
MAMTIM = MAM_FETCH;
// c. enable MAM
MAMCR = MAM_MODE;
// --- set VPB speed ---
VPBDIV = VPBDIV_VAL;
// --- map INT-vector ---
#if defined(RAM_RUN)
MEMMAP = MEMMAP_USER_RAM_MODE;
#elif defined(ROM_RUN)
MEMMAP = MEMMAP_USER_FLASH_MODE;
#else
// #error RUN_MODE not defined!
#endif
}
EmbeddedFileSystem efs;
EmbeddedFile filer, filew;
DirList list;
unsigned short e;
unsigned char buf[513];
char file[20];
unsigned char mode;
int main(void)
{
int res=10;
unsigned char mode;
unsigned char *ptr;
systemInit();
InitSerial1(9600);
i2cInit();
RTCInit();
RTCStart();
//InitSerial1Int((unsigned)serial1_RxISR);
putStrS1("RF--Attendence System\n\r");
while(res)
{
putStrS1("Time: ");
ptr=getTime();
putStrS1(ptr);
putStrS1("Date: ");
ptr=getDate();
putStrS1(ptr);
putStrS1("\r");
delay(100);
res--;
}
putStrS1("\n\r");
putStrE("TEST EEPROM---2",0x0020);
ptr=getStrE(0x0020);
putStrS1(ptr);
putStrS1("\n\r");
if ( ( res = efs_init( &efs, 0 ) ) != 0 ) {
// rprintf("failed with %i\n",res);
}
else {
// rprintf("ok\n");
// rprintf("Directory of 'root':\n");
ls_openDir( &list, &(efs.myFs) , "/");
while ( ls_getNext( &list ) == 0 ) {
list.currentEntry.FileName[LIST_MAXLENFILENAME-1] = '\0';
// rprintf( "%s ( %li bytes )\n" ,
// list.currentEntry.FileName,
// list.currentEntry.FileSize ) ;
}
while(1)
{
putStrS1("Enter the File name: ");
getStrS1(file);
putStrS1("\n\r");
putStrS1("Enter the mode: ");
mode=getCharS1();
putCharS1(mode);
putStrS1("\n\r");
switch(mode)
{
case 'r':
case 'R':
if ( file_fopen( &filer, &efs.myFs , file , 'r' ) == 0 ) {
if ( ( e = file_read( &filer, 512, buf ) ) != 0 ) {
buf[e]='\0';
putStrS1("\n\r");
putStrS1(buf);
putStrS1("\n\r");
}
else
putStrS1("Failed Reading\n\r");
file_fclose( &filer );
}
else {
putStrS1("Fail--Opening\n\r");
}
break;
case 'a':
case 'A':
putStrS1("Enter the data: ");
getStrS1(buf);
putStrS1("\n\r");
if ( file_fopen( &filew, &efs.myFs , file , 'a' ) == 0 ) {
if ( file_write( &filew, strlen((char*)buf), buf ) == strlen((char*)buf) ) {
putStrS1("ok--Appendng\n\r");
}
else {
putStrS1("fail--Appendng\n\r");
}
file_fclose( &filew );
}
if ( file_fopen( &filer, &efs.myFs , file , 'r' ) == 0 ) {
if ( ( e = file_read( &filer, 512, buf ) ) != 0 ) {
buf[e]='\0';
// putStrS1("\n\r");
// putStrS1(buf);
// putStrS1("\n\r");
}
else
putStrS1("Failed Reading\n\r");
file_fclose( &filer );
}
break;
case 'w':
case 'W':
putStrS1("Enter the data: ");
getStrS1(buf);
putStrS1("\n\r");
if ( file_fopen( &filew, &efs.myFs , file , 'w' ) == 0 ) {
if ( file_write( &filew, strlen((char*)buf), buf ) == strlen((char*)buf) ) {
putStrS1("ok--Writing\n\r");
}
else {
putStrS1("fail--Writing\n\r");
}
file_fclose( &filew );
}
break;
}
}
}
fs_umount( &efs.myFs ) ;
return 0; /* never reached */
}
/*
void serial1_RxISR(void) __irq
{
getStrS1(buf);
VICVectAddr = 0x00000000; //Dummy write to signal end of interrupt
rx=0;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -