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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch375hft.c

?? CH375測試程續
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 2004.06.05
****************************************
**  Copyright  (C)  W.ch  1999-2004   **
**  Web:  http://www.winchiphead.com  **
****************************************
**  USB Host File Interface for CH375 **
**  TC2.0@PC, KC7.0@MCS51             **
****************************************
*/
/* CH375 主機文件系統接口 */
/* 支持: FAT12/FAT16/FAT32 */

/* MCS-51單片機C語言的U盤文件讀寫示例程序, 適用于89C52或者更大程序空間的單片機 */
/* 該程序將U盤中的/C51/CH375HFT.C文件中的小寫字母轉成大寫字母后, 寫到新建的文件NEWFILE.TXT中,
   如果找不到原文件CH375HFT.C, 那么該程序將顯示C51子目錄下所有以CH375開頭的文件名, 并新建NEWFILE.TXT文件并寫入提示信息,
   如果找不到C51子目錄, 那么該程序將顯示根目錄下的所有文件名, 并新建NEWFILE.TXT文件并寫入提示信息
*/
/* CH375的INT#引腳采用中斷方式處理, 數據復制方式為"單DPTR和P2+R0復制", 所以速度最快, 適用于標準MCS51單片機, 不使用內置的外部RAM */


/* C51   CH375HFT.C */
/* LX51  CH375HFT.OBJ , CH375HF6.LIB    如果將CH375HF6換成CH375HF4就可以不支持FAT32 */
/* OHX51 CH375HFT */

#include <reg52.h>
#include <stdio.h>

/* 以下定義的詳細說明請看CH375HF6.H文件 */
#define LIB_CFG_DISK_IO			3		/* 磁盤讀寫的數據的復制方式,1為"單DPTR復制",2為"雙DPTR復制",3為"單DPTR和P2+R0復制" */
#define LIB_CFG_FILE_IO			3		/* 文件讀寫的數據的復制方式,0為"外部子程序",1為"單DPTR復制",2為"雙DPTR復制",3為"單DPTR和P2+R0復制" */
#define LIB_CFG_INT_EN			1		/* CH375的INT#引腳連接方式,0為"查詢方式",1為"中斷方式" */

#define CH375_CMD_PORT_ADDR		0xBDF1	/* CH375命令端口的I/O地址 */
#define CH375_DAT_PORT_ADDR		0xBCF0	/* CH375數據端口的I/O地址 */
/* 62256提供的32KB的RAM分為兩部分: 0000H-7DFFH為文件讀寫緩沖區, 7E00H-7FFFH為磁盤數據緩沖區 */
#define	DISK_BASE_BUF_ADDR		0x7000	/* 外部RAM的磁盤數據緩沖區的起始地址,從該單元開始的緩沖區長度為SECTOR_SIZE */
#define DISK_BASE_BUF_LEN		4096	/* 默認的磁盤數據緩沖區大小為512字節,建議選擇為2048甚至4096以支持某些大扇區的U盤,為0則禁止在.H文件中定義緩沖區并由應用程序在pDISK_BASE_BUF中指定 */
#define FILE_DATA_BUF_ADDR		0x0200	/* 外部RAM的文件數據緩沖區的起始地址,緩沖區長度不小于一次讀寫的數據長度 */
/* 由于演示板用的62256只有32K字節,其中CH375子程序用512字節,所以外部RAM剩余長度為32256字節 */
#define FILE_DATA_BUF_LEN		0x6800	/* 外部RAM的文件數據緩沖區,緩沖區長度不小于一次讀寫的數據長度 */
/* 如果準備使用雙緩沖區交替讀寫,那么不要定義FILE_DATA_BUF_LEN,而是在參數中指定緩沖區起址,用CH375FileReadX代替CH375FileRead,用CH375FileWriteX代替CH375FileWrite */

#define CH375_INT_NO			0		/* CH375中斷號, CH375的中斷線INT#引腳連接單片機的INT0引腳 */
#define CH375_INT_FLAG			IE0		/* IE0,CH375中斷標志 */
#define CH375_INT_EN			EX0		/* EX0,CH375中斷允許 */

#define NO_DEFAULT_CH375_F_ENUM		1		/* 未調用CH375FileEnumer程序故禁止以節約代碼 */
#define NO_DEFAULT_CH375_F_QUERY	1		/* 未調用CH375FileQuery程序故禁止以節約代碼 */

#include "..\CH375HF6.H"				/* 如果不需要支持FAT32,那么請選用CH375HF4.H */

/* 在P1.4連接一個LED用于監控演示程序的進度,低電平LED亮,當U盤插入后亮 */
sbit P1_4  = P1^4;
#define LED_OUT_INIT( )		{ P1_4 = 1; }	/* P1.4 高電平 */
#define LED_OUT_ACT( )		{ P1_4 = 0; }	/* P1.4 低電平驅動LED顯示 */
#define LED_OUT_INACT( )	{ P1_4 = 1; }	/* P1.4 低電平驅動LED顯示 */
sbit P1_5  = P1^5;
/* 在P1.5連接一個LED用于監控演示程序的進度,低電平LED亮,當對U盤操作時亮 */
#define LED_RUN_ACT( )		{ P1_5 = 0; }	/* P1.5 低電平驅動LED顯示 */
#define LED_RUN_INACT( )	{ P1_5 = 1; }	/* P1.5 低電平驅動LED顯示 */
sbit P1_6  = P1^6;
/* 在P1.6連接一個LED用于監控演示程序的進度,低電平LED亮,當對U盤寫操作時亮 */
#define LED_WR_ACT( )		{ P1_6 = 0; }	/* P1.6 低電平驅動LED顯示 */
#define LED_WR_INACT( )		{ P1_6 = 1; }	/* P1.6 低電平驅動LED顯示 */

/* 延時100毫秒,不精確 */
void	mDelay100mS( )
{
	UINT8	i, j, c;
	for ( i = 200; i != 0; i -- ) for ( j = 200; j != 0; j -- ) c+=3;
}

/* 將程序空間的字符串復制到內部RAM中,返回字符串長度 */
UINT8	mCopyCodeStringToIRAM( UINT8 idata *iDestination, UINT8 code *iSource )
{
	UINT8	i = 0;
	while ( *iDestination = *iSource ) {
		iDestination ++;
		iSource ++;
		i ++;
	}
	return( i );
}

/* 檢查操作狀態,如果錯誤則顯示錯誤代碼并停機 */
void	mStopIfError( UINT8 iError )
{
	if ( iError == ERR_SUCCESS ) return;  /* 操作成功 */
	printf( "Error: %02X\n", (UINT16)iError );  /* 顯示錯誤 */
	while ( 1 ) {
		LED_OUT_ACT( );  /* LED閃爍 */
		mDelay100mS( );
		LED_OUT_INACT( );
		mDelay100mS( );
	}
}

/* 為printf和getkey輸入輸出初始化串口 */
void	mInitSTDIO( )
{
	SCON = 0x50;
	PCON = 0x80;
	TMOD = 0x20;
	TH1 = 0xf3;  /* 24MHz晶振, 9600bps */
	TR1 = 1;
	TI = 1;
}

main( ) {
	UINT8	i, c, SecCount;
	UINT16	NewSize, count;  /* 因為演示板的RAM容量只有32KB,所以NewSize限制為16位,實際上如果文件大于32256字節,應該分幾次讀寫并且將NewSize改為UINT32以便累計 */
	UINT8	code *pCodeStr;
	LED_OUT_INIT( );
	LED_OUT_ACT( );  /* 開機后LED亮一下以示工作 */
	mDelay100mS( );  /* 延時100毫秒 */
	LED_OUT_INACT( );
	mInitSTDIO( );  /* 為了讓計算機通過串口監控演示過程 */
	printf( "Start\n" );

#if DISK_BASE_BUF_LEN == 0
	pDISK_BASE_BUF = &my_buffer[0];  /* 不在.H文件中定義CH375的專用緩沖區,而是用緩沖區指針指向其它應用程序的緩沖區便于合用以節約RAM */
#endif

	CH375_INT_FLAG = 0;  /* 清中斷標志 */
	i = CH375LibInit( );  /* 初始化CH375程序庫和CH375芯片,操作成功返回0 */
	mStopIfError( i );
	CH375_INT_EN = 1;  /* 允許CH375中斷 */
/* 其它電路初始化 */
	EA = 1;  /* 初始化完成,開中斷 */

	while ( 1 ) {
		printf( "Wait Udisk\n" );
		while ( CH375DiskStatus != DISK_CONNECT );  /* 等待U盤插入,單片機可以做其它事情 */
		LED_OUT_ACT( );  /* LED亮 */
		mDelay100mS( );  /* 延時,可選操作,有的USB存儲器需要幾十毫秒的延時 */
		mDelay100mS( );

/* 檢查U盤是否準備好,有些U盤不需要這一步,但是某些U盤必須要執行這一步才能工作 */
		for ( i = 0; i < 5; i ++ ) {  /* 有的U盤總是返回未準備好,不過可以被忽略 */
			mDelay100mS( );
			printf( "Ready ?\n" );
			if ( CH375DiskReady( ) == ERR_SUCCESS ) break;  /* 查詢磁盤是否準備好 */
		}
#if DISK_BASE_BUF_LEN
		if ( DISK_BASE_BUF_LEN < CH375vSectorSize ) {  /* 檢查磁盤數據緩沖區是否足夠大,CH375vSectorSize是U盤的實際扇區大小 */
			printf( "Too large sector size\n" );
			while ( CH375DiskConnect( ) == ERR_SUCCESS ) mDelay100mS( );
			continue;
		}
#endif
/* 查詢磁盤物理容量 */
/*		printf( "DiskSize\n" );
		i = CH375DiskSize( );  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品视频在线观看| 国产欧美日韩视频在线观看| 亚洲一区二区美女| 色菇凉天天综合网| 亚洲午夜激情网站| 91精品国产综合久久精品| 蜜桃精品视频在线| 久久精品亚洲乱码伦伦中文 | 99视频在线精品| 亚洲免费伊人电影| 911精品国产一区二区在线| 日韩成人精品在线| 国产丝袜在线精品| 日本精品一区二区三区高清| 日本中文字幕不卡| 国产欧美精品一区| 欧美综合视频在线观看| 免费观看在线综合| 国产精品久久久久永久免费观看 | 亚洲欧洲无码一区二区三区| 在线观看网站黄不卡| 美女看a上一区| 国产精品网曝门| 欧美午夜不卡在线观看免费| 美脚の诱脚舐め脚责91| 国产精品久久久久久户外露出| 欧美日韩一区 二区 三区 久久精品| 蜜臀av一区二区在线观看| 日本一区二区三区四区| 欧美性受xxxx黑人xyx| 麻豆精品在线观看| 亚洲黄网站在线观看| 2023国产精华国产精品| 欧美网站一区二区| 国产成人午夜片在线观看高清观看| 亚洲精品亚洲人成人网 | 高清国产一区二区| 亚洲电影在线播放| 欧美国产欧美综合| 91精品国产综合久久久蜜臀粉嫩| 97精品国产露脸对白| 韩国午夜理伦三级不卡影院| 夜夜精品视频一区二区| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲色图制服诱惑| 精品国产露脸精彩对白| 在线欧美小视频| 国产91露脸合集magnet| 欧美bbbbb| 午夜精品久久久久久久久久| 国产精品久久久久久久第一福利| 日韩欧美高清dvd碟片| 在线日韩av片| 色综合亚洲欧洲| 国产美女精品一区二区三区| 日韩国产欧美三级| 亚洲国产精品尤物yw在线观看| 欧美激情一区二区三区四区| 精品美女一区二区| 91精品国产福利| 欧美日韩和欧美的一区二区| 91麻豆精品在线观看| 国产成a人亚洲精品| 国内精品第一页| 久久成人麻豆午夜电影| 日韩电影免费在线观看网站| 亚洲成人午夜电影| 亚洲午夜久久久久| 亚洲国产一区二区视频| 亚洲黄色在线视频| 亚洲精品一卡二卡| 亚洲一区二区在线免费看| 亚洲精品成a人| 一区二区三区四区高清精品免费观看| 久久精品亚洲精品国产欧美| 久久久久久久精| 国产日韩av一区| 国产日本欧洲亚洲| 中文字幕在线观看不卡视频| 国产精品久久久久久亚洲伦| 中文字幕在线观看不卡| 亚洲人亚洲人成电影网站色| 中文字幕一区二区日韩精品绯色| 国产精品免费看片| 成人免费在线观看入口| 亚洲欧美日韩系列| 亚洲最大成人综合| 婷婷国产v国产偷v亚洲高清| 蜜桃av一区二区三区电影| 麻豆精品国产传媒mv男同| 久久99精品国产.久久久久久| 另类的小说在线视频另类成人小视频在线 | 国产欧美视频一区二区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 成人综合婷婷国产精品久久蜜臀 | 91福利国产成人精品照片| 欧美四级电影网| 欧美剧在线免费观看网站| 日韩欧美一级片| 国产精品久久久久久户外露出 | 樱花影视一区二区| 日韩主播视频在线| 久色婷婷小香蕉久久| 岛国一区二区在线观看| 91福利视频久久久久| 日韩亚洲国产中文字幕欧美| 国产亚洲午夜高清国产拍精品| 国产精品嫩草影院av蜜臀| 一片黄亚洲嫩模| 麻豆视频观看网址久久| 成人福利视频网站| 在线综合视频播放| 国产欧美综合在线| 无吗不卡中文字幕| 国产精品一区不卡| 91国在线观看| 久久久久久久久蜜桃| 一区二区三区四区在线免费观看| 免费成人小视频| 91在线高清观看| 精品久久国产字幕高潮| 亚洲女同ⅹxx女同tv| 青青草原综合久久大伊人精品 | 成人av电影在线播放| 91精品国产一区二区| 1024成人网色www| 久久国产精品72免费观看| 色悠悠亚洲一区二区| 欧美精品一区二区精品网| 一区二区视频在线| 韩国毛片一区二区三区| 欧美日韩另类国产亚洲欧美一级| 国产精品天干天干在观线| 日韩国产欧美在线播放| 91麻豆.com| 国产欧美一区二区三区沐欲 | 性久久久久久久久久久久| 成人av在线资源| 久久久亚洲精华液精华液精华液| 亚洲综合清纯丝袜自拍| 国产91综合一区在线观看| 日韩免费在线观看| 亚洲不卡一区二区三区| 91在线看国产| 中国色在线观看另类| 经典一区二区三区| 欧美浪妇xxxx高跟鞋交| 一区二区三区四区激情| 91在线视频免费观看| 国产日韩影视精品| 国产在线播放一区二区三区| 日韩一区二区三区电影在线观看 | 麻豆国产精品官网| 欧美挠脚心视频网站| 亚洲与欧洲av电影| 日本伦理一区二区| 一区二区在线电影| 色婷婷香蕉在线一区二区| 亚洲色图另类专区| 色婷婷国产精品| 亚洲欧美色综合| 色综合久久综合网| 亚洲精品一二三四区| 色成人在线视频| 亚洲一区二区三区三| 在线观看日韩高清av| 一区二区不卡在线视频 午夜欧美不卡在 | 午夜精品久久一牛影视| 欧美日韩精品免费观看视频| 亚洲国产精品一区二区www在线 | av成人免费在线观看| 精品国产免费人成电影在线观看四季 | 国产91色综合久久免费分享| 国产视频911| 99精品视频在线播放观看| 一区二区三区色| 欧美性大战久久久久久久蜜臀| 亚洲成人免费影院| 4438x成人网最大色成网站| 日本系列欧美系列| 久久久久免费观看| 风间由美一区二区av101| 中文字幕在线一区二区三区| 91浏览器在线视频| 日本三级亚洲精品| 久久精品一区二区三区av| 成人av在线资源网| 亚洲国产美国国产综合一区二区| 欧美精品久久天天躁| 狠狠色丁香婷综合久久| 国产精品久久久久aaaa| 在线观看视频欧美| 极品销魂美女一区二区三区| 国产嫩草影院久久久久| 色偷偷久久人人79超碰人人澡| 五月婷婷激情综合网| 久久看人人爽人人| 欧美视频在线一区二区三区 | 精品成人一区二区三区| 粉嫩绯色av一区二区在线观看|