亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? thenewofTiny-FatFs
?? C
?? 第 1 頁 / 共 2 頁
字號:
				if (!xatoi(&ptr, &p1)) break;
				if (disk_ioctl((BYTE)p1, MMC_GET_CSD, Buff) == RES_OK)
					{ xputs(PSTR("\nCSD:")); put_dump(Buff, 0x00, 16); }
				if (disk_ioctl((BYTE)p1, MMC_GET_CID, Buff) == RES_OK)
					{ xputs(PSTR("\nCID:")); put_dump(Buff, 0x10, 16); }
				if (disk_ioctl((BYTE)p1, MMC_GET_OCR, Buff) == RES_OK)
					{ xputs(PSTR("\nOCR:")); put_dump(Buff, 0x20, 4); }
				if (disk_ioctl((BYTE)p1, ATA_GET_MODEL, linebuf) == RES_OK)
					{ linebuf[40] = '\0'; xprintf(PSTR("\nModel: %s"), linebuf); }
				if (disk_ioctl((BYTE)p1, ATA_GET_SN, linebuf) == RES_OK)
					{ linebuf[20] = '\0'; xprintf(PSTR("\nS/N: %s"), linebuf); }
				if (disk_ioctl((BYTE)p1, GET_SECTOR_COUNT, &p1) == RES_OK)
					{ xprintf(PSTR("\nSize: %lu sectors"), p1); }
				break;
			}
			break;

		case 'b' :
			switch (*ptr++) {
			case 'd' :	/* bd <addr> - Dump R/W buffer */
				if (!xatoi(&ptr, &p1)) break;
				for (ptr=&Buff[p1], ofs = p1, cnt = 32; cnt; cnt--, ptr+=16, ofs+=16)
					put_dump(ptr, ofs, 16);
				break;

			case 'e' :	/* be <addr> [<data>] ... - Edit R/W buffer */
				if (!xatoi(&ptr, &p1)) break;
				if (xatoi(&ptr, &p2)) {
					do {
						Buff[p1++] = (BYTE)p2;
					} while (xatoi(&ptr, &p2));
					break;
				}
				for (;;) {
					xprintf(PSTR("\n%04X %02X-"), (WORD)(p1), (WORD)Buff[p1]);
					get_line(linebuf, sizeof(linebuf));
					ptr = linebuf;
					if (*ptr == '.') break;
					if (*ptr < ' ') { p1++; continue; }
					if (xatoi(&ptr, &p2))
						Buff[p1++] = (BYTE)p2;
					else
						xputs(PSTR("\n???"));
				}
				break;

			case 'r' :	/* br <phy_drv#> <sector> [<n>] - Read disk into R/W buffer */
				if (!xatoi(&ptr, &p1)) break;
				if (!xatoi(&ptr, &p2)) break;
				if (!xatoi(&ptr, &p3)) p3 = 1;
				xprintf(PSTR("\nrc=%u"), (WORD)disk_read((BYTE)p1, Buff, p2, p3));
				break;

			case 'w' :	/* bw <phy_drv#> <sector> [<n>] - Write R/W buffer into disk */
				if (!xatoi(&ptr, &p1)) break;
				if (!xatoi(&ptr, &p2)) break;
				if (!xatoi(&ptr, &p3)) p3 = 1;
				xprintf(PSTR("\nrc=%u"), (WORD)disk_write((BYTE)p1, Buff, p2, p3));
				break;

			case 'f' :	/* bf <n> - Fill working buffer */
				if (!xatoi(&ptr, &p1)) break;
				memset(Buff, (BYTE)p1, sizeof(Buff));
				break;

			}
			break;

		case 'f' :
			switch (*ptr++) {

			case 'i' :	/* fi <log drv#> - Initialize logical drive */
				if (!xatoi(&ptr, &p1)) break;
				put_rc(f_mount((BYTE)p1, &fatfs[p1]));
				break;

			case 's' :	/* fs [<path>] - Show logical drive status */
				res = f_getfree(ptr, &p2, &fs);
				if (res) { put_rc(res); break; }
				xprintf(PSTR("\nFAT type = %u\nBytes/Cluster = %lu\nNumber of FATs = %u\n"
							 "Root DIR entries = %u\nSectors/FAT = %lu\nNumber of clusters = %lu\n"
							 "FAT start (lba) = %lu\nDIR start (lba,clustor) = %lu\nData start (lba) = %lu\n"),
						(WORD)fs->fs_type, (DWORD)fs->sects_clust * 512, (WORD)fs->n_fats,
						fs->n_rootdir, (DWORD)fs->sects_fat, (DWORD)fs->max_clust - 2,
						fs->fatbase, fs->dirbase, fs->database
				);
				acc_size = acc_files = acc_dirs = 0;
				res = scan_files(ptr);
				if (res) { put_rc(res); break; }
				xprintf(PSTR("\n%u files, %lu bytes.\n%u folders.\n"
							 "%lu KB total disk space.\n%lu KB available."),
						acc_files, acc_size, acc_dirs,
						(fs->max_clust - 2) * (fs->sects_clust / 2), p2 * (fs->sects_clust / 2)
				);
				break;

			case 'l' :	/* fl [<path>] - Directory listing */
				res = f_opendir(&dir, ptr);
				if (res) { put_rc(res); break; }
				p1 = s1 = s2 = 0;
				for(;;) {
					res = f_readdir(&dir, &finfo);
					if ((res != FR_OK) || !finfo.fname[0]) break;
					if (finfo.fattrib & AM_DIR) {
						s2++;
					} else {
						s1++; p1 += finfo.fsize;
					}
					xprintf(PSTR("\n%c%c%c%c%c %u/%02u/%02u %02u:%02u %9lu  %s"), 
								(finfo.fattrib & AM_DIR) ? 'D' : '-',
								(finfo.fattrib & AM_RDO) ? 'R' : '-',
								(finfo.fattrib & AM_HID) ? 'H' : '-',
								(finfo.fattrib & AM_SYS) ? 'S' : '-',
								(finfo.fattrib & AM_ARC) ? 'A' : '-',
								(finfo.fdate >> 9) + 1980, (finfo.fdate >> 5) & 15, finfo.fdate & 31,
								(finfo.ftime >> 11), (finfo.ftime >> 5) & 63,
								finfo.fsize, &(finfo.fname[0]));
				}
				xprintf(PSTR("\n%4u File(s),%10lu bytes total\n%4u Dir(s)"), s1, p1, s2);
				if (f_getfree(ptr, &p1, &fs) == FR_OK)
					xprintf(PSTR(", %10luK bytes free"), p1 * fs->sects_clust / 2);
				break;

			case 'o' :	/* fo <mode> <name> - Open a file */
				if (!xatoi(&ptr, &p1)) break;
				put_rc(f_open(&file1, ptr, (BYTE)p1));
				break;

			case 'c' :	/* fc - Close a file */
				put_rc(f_close(&file1));
				break;

			case 'e' :	/* fe - Seek file pointer */
				if (!xatoi(&ptr, &p1)) break;
				res = f_lseek(&file1, p1);
				put_rc(res);
				if (res == FR_OK)
					xprintf(PSTR("\nfptr = %lu(0x%lX)"), file1.fptr, file1.fptr);
				break;

			case 'r' :	/* fr <len> - read file */
				if (!xatoi(&ptr, &p1)) break;
				p2 = 0;
				Timer = 0;
				while (p1) {
					if (p1 >= blen)	{ cnt = blen; p1 -= blen; }
					else 			{ cnt = (WORD)p1; p1 = 0; }
					res = f_read(&file1, Buff, cnt, &s2);
					if (res != FR_OK) { put_rc(res); break; }
					p2 += s2;
					if (cnt != s2) break;
				}
				s2 = Timer;
				xprintf(PSTR("\n%lu bytes read with %lu bytes/sec."), p2, p2 * 100 / s2);
				break;

			case 'd' :	/* fd <len> - read and dump file from current fp */
				if (!xatoi(&ptr, &p1)) break;
				ofs = file1.fptr;
				while (p1) {
					if (p1 >= 16)	{ cnt = 16; p1 -= 16; }
					else 			{ cnt = (WORD)p1; p1 = 0; }
					res = f_read(&file1, Buff, cnt, &cnt);
					if (res != FR_OK) { put_rc(res); break; }
					if (!cnt) break;
					put_dump(Buff, ofs, cnt);
					ofs += 16;
				}
				break;

			case 'w' :	/* fw <len> <val> - write file */
				if (!xatoi(&ptr, &p1) || !xatoi(&ptr, &p2)) break;
				memset(Buff, (BYTE)p2, blen);
				p2 = 0;
				Timer = 0;
				while (p1) {
					if (p1 >= blen)	{ cnt = blen; p1 -= blen; }
					else 			{ cnt = (WORD)p1; p1 = 0; }
					res = f_write(&file1, Buff, cnt, &s2);
					if (res != FR_OK) { put_rc(res); break; }
					p2 += s2;
					if (cnt != s2) break;
				}
				s2 = Timer;
				xprintf(PSTR("\n%lu bytes written with %lu bytes/sec."), p2, p2 * 100 / s2);
				break;

			case 'n' :	/* fn <old_name> <new_name> - Change file/dir name */
				while (*ptr == ' ') ptr++;
				ptr2 = strchr(ptr, ' ');
				if (!ptr2) break;
				*ptr2++ = 0;
				while (*ptr2 == ' ') ptr2++;
				put_rc(f_rename(ptr, ptr2));
				break;

			case 'u' :	/* fu <name> - Unlink a file or dir */
				put_rc(f_unlink(ptr));
				break;

			case 'k' :	/* fk <name> - Create a directory */
				put_rc(f_mkdir(ptr));
				break;

			case 'a' :	/* fa <atrr> <mask> <name> - Change file/dir attribute */
				if (!xatoi(&ptr, &p1) || !xatoi(&ptr, &p2)) break;
				put_rc(f_chmod(ptr, p1, p2));
				break;

			case 'x' : /* fx <src_name> <dst_name> - Copy file */
				while (*ptr == ' ') ptr++;
				ptr2 = strchr(ptr, ' ');
				if (!ptr2) break;
				*ptr2++ = 0;
				xprintf(PSTR("\nOpening \"%s\""), ptr);
				res = f_open(&file1, ptr, FA_OPEN_EXISTING | FA_READ);
				if (res) {
					put_rc(res);
					break;
				}
				xprintf(PSTR("\nCreating \"%s\""), ptr2);
				res = f_open(&file2, ptr2, FA_CREATE_ALWAYS | FA_WRITE);
				if (res) {
					put_rc(res);
					f_close(&file1);
					break;
				}
				xprintf(PSTR("\nCopying..."));
				p1 = 0;
				for (;;) {
					res = f_read(&file1, Buff, sizeof(Buff), &s1);
					if (res || s1 == 0) break;   /* error or eof */
					res = f_write(&file2, Buff, s1, &s2);
					p1 += s2;
					if (res || s2 < s1) break;   /* error or disk full */
				}
				xprintf(PSTR("\n%lu bytes copied."), p1);
				f_close(&file1);
				f_close(&file2);
				break;
#if _USE_MKFS
			case 'm' :	/* fm <log drv#> <fmt type> <sect/clust> - Create file system */
				if (!xatoi(&ptr, &p1)) break;
				if (!xatoi(&ptr, &p2)) break;
				if (!xatoi(&ptr, &p3)) break;
				xprintf(PSTR("\nThe drive %u will be formatted. Are you sure? (Y/n)="), (WORD)p1);
				get_line(ptr, sizeof(linebuf));
				if (*ptr != 'Y') break;
				put_rc(f_mkfs((BYTE)p1, (BYTE)p2, (BYTE)p3));
				break;
#endif
			case 'z' :	/* fz <len> - set transfer unit for fr/fw commands */
				if (xatoi(&ptr, &p1) && (p1 > 0) && (p1 <= sizeof(Buff)))
					blen = (WORD)p1;
				xprintf(PSTR("\nlen=%u"), blen);
				break;
			}
			break;

		case 't' :	/* t [<year> <mon> <mday> <hour> <min> <sec>] */
			if (xatoi(&ptr, &p1)) {
				tmr->tm_year = p1-1900;
				xatoi(&ptr, &p1); tmr->tm_mon = p1-1;
				xatoi(&ptr, &p1); tmr->tm_mday = p1;
				xatoi(&ptr, &p1); tmr->tm_hour = p1;
				xatoi(&ptr, &p1); tmr->tm_min = p1;
				if(!xatoi(&ptr, &p1)) break;
				tmr->tm_sec = p1;
				rtc = mktime(tmr);
			}
			tmr = gmtime(&rtc);
			xprintf(PSTR("\n%u/%u/%u %02u:%02u:%02u"), tmr->tm_year+1900, tmr->tm_mon+1, tmr->tm_mday, tmr->tm_hour, tmr->tm_min, tmr->tm_sec);
			break;
		}
	}

}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品亚洲国产奇米99| 国产一区二区三区综合| 美女一区二区久久| 激情文学综合丁香| 不卡一区中文字幕| 欧美军同video69gay| 精品国产免费一区二区三区四区| 欧美国产欧美综合| 亚洲成国产人片在线观看| 精品一区二区三区欧美| 99精品国产一区二区三区不卡| 91精品国模一区二区三区| 中文字幕成人网| 亚洲成人免费视频| 国产夫妻精品视频| 欧美精品粉嫩高潮一区二区| 国产日本亚洲高清| 日韩av在线播放中文字幕| av资源网一区| 精品国产一区久久| 亚洲国产成人tv| 国产激情一区二区三区桃花岛亚洲| 久久综合狠狠综合久久激情| 亚洲色图第一区| 蜜臂av日日欢夜夜爽一区| 成人av在线资源网| 成人v精品蜜桃久久一区| 欧美日韩一区成人| 久久综合色一综合色88| 亚洲天堂av老司机| 蜜桃精品视频在线| 99精品桃花视频在线观看| 欧美日韩在线免费视频| 国产人成亚洲第一网站在线播放| 夜夜精品浪潮av一区二区三区| 老司机精品视频线观看86| 不卡的av电影在线观看| 日韩视频国产视频| 国产精品区一区二区三| 五月天一区二区| 99久久综合精品| 精品久久久久久久久久久久久久久 | 日本不卡在线视频| 成人激情视频网站| 欧美日韩国产经典色站一区二区三区| 精品国产123| 亚洲一区二区三区四区的| 国产精品亚洲第一| 欧美一区二区免费观在线| 亚洲视频免费在线观看| 韩国女主播成人在线| 欧美三级在线看| 自拍偷拍欧美精品| 极品瑜伽女神91| 欧美日韩成人在线| ㊣最新国产の精品bt伙计久久| 美女精品一区二区| 欧美美女视频在线观看| 亚洲精品免费电影| 国产精品2024| 日韩精品一区二区在线观看| 亚洲人成伊人成综合网小说| 韩国理伦片一区二区三区在线播放| 欧美精品久久一区二区三区| 国产精品网站导航| 国内久久精品视频| 日韩精品一区二区三区老鸭窝 | 不卡影院免费观看| 久久久久9999亚洲精品| 日韩黄色免费电影| 在线视频综合导航| 中文字幕一区二区三区在线观看 | 亚洲一区二区三区四区中文字幕| 成人中文字幕合集| 久久精品一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 精品久久久久久综合日本欧美| 亚洲国产另类av| 91首页免费视频| 亚洲国产成人在线| 激情六月婷婷综合| 精品乱人伦一区二区三区| 欧美aⅴ一区二区三区视频| 欧美色网站导航| 亚洲自拍偷拍网站| 欧美日韩精品三区| 亚洲一区视频在线观看视频| 99re免费视频精品全部| 国产精品国产a| www.日韩精品| 亚洲人妖av一区二区| 91丨porny丨首页| 国产精品的网站| 91香蕉视频黄| 中文字幕中文字幕一区二区| 成人app在线| 亚洲视频免费在线| 91丨九色丨国产丨porny| 一区二区三区四区亚洲| 在线精品视频一区二区| 亚洲一区二区三区不卡国产欧美| 欧美日韩国产片| 日产国产欧美视频一区精品| 欧美一区二区日韩| 激情欧美一区二区三区在线观看| 久久―日本道色综合久久| 国产大片一区二区| 国产精品成人网| 欧美天堂一区二区三区| 视频一区国产视频| 精品动漫一区二区三区在线观看| 国产一区二区三区久久悠悠色av| 国产视频一区在线播放| 91视频观看视频| 香蕉久久夜色精品国产使用方法 | 欧美日韩国产a| 蜜臀va亚洲va欧美va天堂| 精品国产123| 成人av午夜影院| 亚洲国产欧美一区二区三区丁香婷 | 国产精品久久久久久久久免费樱桃| 色综合网色综合| 性久久久久久久| 久久网站最新地址| 色综合一区二区三区| 亚洲国产精品久久艾草纯爱| 欧美电影免费观看高清完整版在线| 成人性生交大片免费 | 欧美午夜精品久久久| 日本最新不卡在线| 国产精品美女视频| 欧美日韩另类一区| 国产精品1区2区3区| 一区二区三区av电影| 欧美一区二区三区免费| 成人av在线资源| 视频一区国产视频| 国产精品日韩成人| 91精品欧美久久久久久动漫| 成人免费黄色大片| 五月天国产精品| 亚洲精品一线二线三线无人区| 精品影院一区二区久久久| 国产精品剧情在线亚洲| 欧美日韩亚洲综合在线| 国产精品一区一区| 成人福利视频在线| 精品久久久久久久久久久久久久久| 91精品在线免费| 欧美在线观看视频一区二区三区| 国产亚洲精品久| 不卡影院免费观看| 26uuu国产电影一区二区| 亚洲欧洲国产日本综合| 国产一区二区三区久久久| 久久伊99综合婷婷久久伊| 日日夜夜一区二区| 色乱码一区二区三区88| 中文文精品字幕一区二区| 欧美伦理视频网站| 国产aⅴ精品一区二区三区色成熟| 午夜精彩视频在线观看不卡| 久久一留热品黄| 777奇米成人网| 精品不卡在线视频| 91美女片黄在线| 国产精品99久久久| 久久精品99国产精品日本| 夜夜夜精品看看| 国产精品狼人久久影院观看方式| 亚洲精品在线电影| 7777精品伊人久久久大香线蕉超级流畅| 日韩不卡一区二区三区| 亚洲一卡二卡三卡四卡| 18欧美乱大交hd1984| 国产欧美一区二区精品性色超碰| 精品福利在线导航| 欧美不卡在线视频| 91精品国产高清一区二区三区| 在线观看区一区二| 99精品国产视频| www.av精品| 粉嫩久久99精品久久久久久夜| 极品销魂美女一区二区三区| 日日夜夜精品视频天天综合网| 夜夜精品视频一区二区| 亚洲男同性恋视频| 亚洲男女一区二区三区| 国产蜜臀97一区二区三区| 精品国产一区二区三区忘忧草| 欧美一区二区三区免费观看视频| 99久久伊人精品| 国产大陆亚洲精品国产| 国产一区二区三区四区五区入口 | 国产真实乱子伦精品视频| 六月婷婷色综合| 老司机一区二区| 久久激五月天综合精品| 激情五月婷婷综合网| 精品一区二区三区在线视频|