static void XCERR_obtain(Slist_t*p,Errsave_t*ppD) { FIL*fp; char name[40] = ""; char nCH[10] = ""; UINT w; Errsave_t*pD = (Errsave_t*)ppD; Fileview_path_obtain(name); global_strcat( name, "/"); global_ltoa(p->n, nCH); global_strcat( name, nCH); global_strcat( name, "/"); global_strcat( name, _DATA_F); fp = fatfs_open(name, FA_OPEN_EXISTING | FA_READ ); if(!fp) {GLOBAL_MEMCLR(pD,sizeof(Errsave_t));return ;} f_read(fp,pD,sizeof(Errsave_t),&w); fatfs_close(fp); return; }
int test_fatfs(void) { int ret; uint8_t buf[1024]; memset(buf, 0, 1024); ret = fatfs_mount(&fs); if (ret != 0) { bl_dbg("Failed mounting flash device."); } ret = fatfs_open(&fs, "CONFIG.INI"); if (ret) { bl_dbg("Failed opening config file."); } ret = fatfs_read(&fs, buf, 1024); if (ret < 0) { bl_dbg("Failed reading data."); } buf[ret] = '\0'; d_print("%s\r\n", buf); fatfs_close(&fs); fatfs_umount(&fs); bl_dbg("Done"); #if 0 int k; for (i = 44; i < 8192; i++) { at45db_bread(i, 1, buf); for (k = 0; k < 1024; k++) { d_print("%c", buf[k]); wait(25); } d_print("Page: %d\r\n", i); wait(5000); } #endif return 0; }
static void _txtView(char*path) { hwin_t* pwin; char * pbuf ; FIL * fil; char *p; uint8_t key_buf; int y = 5; pbuf = app_malloc(1000); GUI_window_hwin_req( GET_GUIWIN ); GUI_set_Bgcolor( 0 ); GUI_clean_screen(); GUI_set_Bgcolor( 0 ); GUI_set_Fgcolor( C_GUI_WHITE); pwin = Gui_3D_window_creat( 0, 0, LCD_WIDE - 2, LCD_HIGH, "文本浏览器", WIN_3D | WIN_FILL, 0 ); GUI_window_hwin_release( GET_GUIWIN ); fil=fatfs_open(path,FA_OPEN_EXISTING|FA_READ|FA_WRITE); while(1) { p = f_gets(pbuf,500,fil); if(!p) { while(1) { msleep(1); if ( app_global_key_obtain( &key_buf, 1 ) == 1 ) { if(key_buf==KEY_EXIT) { fatfs_close(fil); app_free(pbuf); GUI_window_destory(pwin); return; } } } } GUI_window_hwin_req( pwin ); GUI_set_Bgcolor( 0 ); GUI_set_Fgcolor( C_GUI_WHITE); GUI_SetFront(&GUI_HZK16_EXTASCII); GUI_string_display_At(2,y,pbuf); GUI_window_hwin_release( pwin ); y+=GUI_conText.CUR_Front->high; if((y+GUI_conText.CUR_Front->high)>pwin->win_high) { while(1) { msleep(1); if ( app_global_key_obtain( &key_buf, 1 ) == 1 ) { if(key_buf==KEY_DOWN) { GUI_window_hwin_req( pwin ); GUI_set_Bgcolor( 0 ); GUI_set_Fgcolor( C_GUI_WHITE); GUI_clean_window(); y = 5; GUI_window_hwin_release( pwin ); break; } else if(key_buf==KEY_EXIT) { app_free(pbuf); GUI_window_destory(pwin); return; } } } } } }