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

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

?? ch374hft.c

?? CH374 USB-HOST文件系統單片機子程序庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 2004.06.05
****************************************
**  Copyright  (C)  W.ch  1999-2004   **
**  Web:  http://www.winchiphead.com  **
****************************************
**  USB Host File Interface for CH374 **
**  TC2.0@PC, gcc 2.95.3@MC68         **
****************************************
*/
/* CH374 主機文件系統接口 */
/* 支持: FAT12/FAT16/FAT32 */

/* MC68單片機C語言的U盤文件讀寫示例程序 */
/* 該程序將U盤中的/C51/CH374HFT.C文件中的小寫字母轉成大寫字母后, 寫到新建的文件NEWFILE.TXT中,
   如果找不到原文件CH374HFT.C, 那么該程序將顯示C51子目錄下所有以CH374開頭的文件名, 并新建NEWFILE.TXT文件并寫入提示信息,
   如果找不到C51子目錄, 那么該程序將顯示根目錄下的所有文件名, 并新建NEWFILE.TXT文件并寫入提示信息
*/
/* CH374的INT#引腳采用查詢方式處理, 數據復制方式為"內部復制", 本程序適用于MC68單片機uClinux */

/* m68k-elf-gcc -m68000 ??... */

#include <stdio.h>
#include <string.h>

/* 以下定義的詳細說明請看CH374HFR.H文件 */
#define LIB_CFG_INT_EN			0		/* CH374的INT#引腳連接方式,0為"查詢方式",1為"中斷方式" */

#define CH374_INT_WIRE			( *(UINT8V *)0xFFFFF419 & 0x02 )	/* CH374的中斷線INT#引腳,連接CH374的INT#引腳,用于查詢中斷狀態 */
/* 如果未連接CH374的中斷引腳,那么應該去掉上述定義,自動使用寄存器查詢方式 */

#define DISK_BASE_BUF_LEN		2048	/* 默認的磁盤數據緩沖區大小為512字節,建議選擇為2048甚至4096以支持某些大扇區的U盤,為0則禁止在.H文件中定義緩沖區并由應用程序在pDISK_BASE_BUF中指定 */
/* 如果需要復用磁盤數據緩沖區以節約RAM,那么可將DISK_BASE_BUF_LEN定義為0以禁止在.H文件中定義緩沖區,而由應用程序在調用CH375Init之前將與其它程序合用的緩沖區起始地址置入pDISK_BASE_BUF變量 */

#define NO_DEFAULT_CH374_F_ENUM		1		/* 未調用CH374FileEnumer程序故禁止以節約代碼 */
#define NO_DEFAULT_CH374_F_QUERY	1		/* 未調用CH374FileQuery程序故禁止以節約代碼 */
#define NO_DEFAULT_CH374_RESET		1		/* 未調用CH374Reset程序故禁止以節約代碼 */

#include "../CH374HFR.h"

UINT8	my_buffer[ 0x2000 ];			/* 外部RAM的文件數據緩沖區 */
/* 如果準備使用雙緩沖區交替讀寫,那么可以在參數中指定緩沖區起址 */

#define CH374_IDX_PORT	(*(UINT8V *)0x1000001E)		/* CH374索引端口的I/O地址 */
#define CH374_DAT_PORT	(*(UINT8V *)0x1000001C)		/* CH374數據端口的I/O地址 */

void CH374_PORT_INIT( )  /* 由于使用標準并口讀寫時序,所以無需初始化 */
{
}

#define	Write374Index( a )	{ CH374_IDX_PORT = a; }	/* 向索引端口寫入索引地址 */
//static	void Write374Index( UINT8 mIndex )  /* 向CH374寫索引地址 */
//{
//	CH374_IDX_PORT = mIndex;
//}

#define	Write374Data( d )	{ CH374_DAT_PORT = d; }	/* 向數據端口寫入數據,索引地址自動加1 */
//static	void Write374Data( UINT8 mData )  /* 向CH374寫數據 */
//{
//	CH374_DAT_PORT = mData;
//}

#define	Read374Data( )		( CH374_DAT_PORT )		/* 從數據端口讀出數據,索引地址自動加1 */
//static	UINT8 Read374Data( void )  /* 從CH374讀數據 */
//{
//	return( CH374_DAT_PORT );
//}

#include "para.c"	/* 并口時序 */
/*#include "spi.c"*/    /* SPI時序 */

/* 在PIN連接一個LED用于監控演示程序的進度,低電平LED亮 */
#define LED_OUT_INIT( )		{  }	/* 高電平為輸出方向 */
#define LED_OUT_ACT( )		{  }	/* 低電平驅動LED顯示 */
#define LED_OUT_INACT( )	{  }	/* 低電平驅動LED顯示 */

/* 檢查操作狀態,如果錯誤則顯示錯誤代碼并停機 */
void	mStopIfError( UINT8 iError )
{
	if ( iError == ERR_SUCCESS ) return;  /* 操作成功 */
	printf( "Error: %02X\n", (UINT16)iError );  /* 顯示錯誤 */
/* 遇到錯誤后,應該分析錯誤碼以及CH374DiskStatus狀態,例如調用CH374DiskConnect查詢當前U盤是否連接,如果U盤已斷開那么就重新等待U盤插上再操作,
   建議出錯后的處理步驟:
   1、調用一次CH374DiskReady,成功則繼續操作,例如Open,Read/Write等,在CH374DiskReady中會自動調用CH374DiskConnect,不必另外調用
   2、如果CH374DiskReady不成功,那么強行將CH374DiskStatus置為DISK_CONNECT狀態,然后從頭開始操作(等待U盤連接CH374DiskConnect,CH374DiskReady等) */
	while ( 1 ) {
		LED_OUT_ACT( );  /* LED閃爍 */
		CH374DelaymS( 100 );
		LED_OUT_INACT( );
		CH374DelaymS( 100 );
	}
}

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

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

	i = CH374LibInit( );  /* 初始化CH374程序庫和CH374芯片,操作成功返回0 */
	mStopIfError( i );
/* 其它電路初始化 */

	while ( 1 ) {
		printf( "Wait Udisk\n" );

#ifdef UNSUPPORT_USB_HUB
/* 如果不需要支持USB-HUB,那么等待U盤插入的程序與CH374相似,都是通過CH374DiskConnect查詢連接,已連接則通過CH374DiskReady等待就緒,然后讀寫 */
		while ( CH374DiskStatus < DISK_CONNECT ) {  /* 查詢CH374中斷并更新中斷狀態,等待U盤插入 */
			CH374DiskConnect( );
			CH374DelaymS( 50 );  /* 沒必要頻繁查詢 */
		}
		LED_OUT_ACT( );  /* LED亮 */
		CH374DelaymS( 200 );  /* 延時,可選操作,有的USB存儲器需要幾十毫秒的延時 */

/* 對于檢測到USB設備的,最多等待100*50mS,主要針對有些MP3太慢,對于檢測到USB設備并且連接DISK_MOUNTED的,最多等待5*50mS,主要針對DiskReady不過的 */
		for ( i = 0; i < 100; i ++ ) {  /* 最長等待時間,100*50mS */
			CH374DelaymS( 50 );
			printf( "Ready ?\n" );
			if ( CH374DiskReady( ) == ERR_SUCCESS ) break;  /* 查詢磁盤是否準備好 */
			if ( CH374DiskStatus < DISK_CONNECT ) break;  /* 檢測到斷開,重新檢測并計時 */
			if ( CH374DiskStatus >= DISK_MOUNTED && i > 5 ) break;  /* 有的U盤總是返回未準備好,不過可以忽略,只要其建立連接MOUNTED且嘗試5*50mS */
		}
		if ( CH374DiskStatus < DISK_CONNECT ) {  /* 檢測到斷開,重新檢測并計時 */
			printf( "Device gone\n" );
			continue;  /* 重新等待 */
		}
		if ( CH374DiskStatus < DISK_MOUNTED ) {  /* 未知USB設備,例如USB鍵盤、打印機等 */
			printf( "Unknown device\n" );
			goto UnknownUsbDevice;
		}
#else
/* 如果需要支持USB-HUB,那么必須參考本例中下面的等待程序 */
		while ( 1 ) {  /* 支持USB-HUB */
			CH374DelaymS( 50 );  /* 沒必要頻繁查詢 */
			if ( CH374DiskConnect( ) == ERR_SUCCESS ) {  /* 查詢方式: 檢查磁盤是否連接并更新磁盤狀態,返回成功說明連接 */
				CH374DelaymS( 200 );  /* 延時,可選操作,有的USB存儲器需要幾十毫秒的延時 */

/* 對于檢測到USB設備的,最多等待100*50mS,主要針對有些MP3太慢,對于檢測到USB設備并且連接DISK_MOUNTED的,最多等待5*50mS,主要針對DiskReady不過的 */
				for ( i = 0; i < 100; i ++ ) {  /* 最長等待時間,100*50mS */
					CH374DelaymS( 50 );
					printf( "Ready ?\n" );
					if ( CH374DiskReady( ) == ERR_SUCCESS ) break;  /* 查詢磁盤是否準備好 */
					if ( CH374DiskStatus < DISK_CONNECT ) {  /* 檢測到斷開,重新檢測并計時 */
						printf( "Device gone\n" );
						break;  /* 重新等待 */
					}
					if ( CH374DiskStatus >= DISK_MOUNTED && i > 5 ) break;  /* 有的U盤總是返回未準備好,不過可以忽略,只要其建立連接MOUNTED且嘗試5*50mS */
					if ( CH374DiskStatus == DISK_CONNECT ) {  /* 有設備連接 */
						if ( CH374vHubPortCount ) {  /* 連接了一個USB-HUB,但可能沒有U盤 */
							printf( "No Udisk in USB_HUB\n" );
							break;
						}
						else {  /* 未知USB設備,有可能是U盤反應太慢,所以要再試試 */
						}
					}
				}
				if ( CH374DiskStatus >= DISK_MOUNTED ) {  /* 是U盤 */
					break;  /* 開始操作U盤 */
				}
				if ( CH374DiskStatus == DISK_CONNECT ) {  /* 多次嘗試還是不行,估計不是U盤 */
					if ( CH374vHubPortCount ) {  /* 連接了一個USB-HUB,但可能沒有U盤 */
/* 在while中等待HUB端口有U盤 */
					}
					else {  /* 未知USB設備,例如USB鍵盤、打印機等,而且已經試了很多次還不行 */
						printf( "Unknown device\n" );
						goto UnknownUsbDevice;
					}
				}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品麻豆视频| 欧美国产乱子伦| 国产高清视频一区| 亚洲欧美激情小说另类| 欧美肥妇free| 风流少妇一区二区| 亚洲最大的成人av| 日韩欧美电影在线| 不卡高清视频专区| 三级影片在线观看欧美日韩一区二区| 日韩亚洲欧美高清| 99国产精品久久久久久久久久| 亚洲一区自拍偷拍| 国产亚洲1区2区3区| 91啦中文在线观看| 精品制服美女丁香| 亚洲免费看黄网站| 26uuu欧美| 欧美亚洲国产一区二区三区va| 久久爱www久久做| 亚洲精品自拍动漫在线| 精品国产乱码久久| 欧美日韩一级视频| 99久久精品99国产精品 | 国产久卡久卡久卡久卡视频精品| 国产精品久久久久婷婷| 91精品国产乱| 91久久精品国产91性色tv| 国产美女在线精品| 水野朝阳av一区二区三区| 亚洲欧洲av在线| 久久综合狠狠综合| 91精品国产高清一区二区三区蜜臀| 成人午夜在线播放| 精品在线播放免费| 日日摸夜夜添夜夜添国产精品| 国产精品美女一区二区在线观看| 日韩精品一区二区三区swag| 欧美丝袜丝交足nylons| av中文字幕不卡| 精品一区二区三区免费观看 | 日韩电影在线一区二区三区| 亚洲同性同志一二三专区| 亚洲精品一区二区三区四区高清| 色婷婷精品大在线视频| 国产精品88av| 韩国在线一区二区| 美洲天堂一区二卡三卡四卡视频| 亚洲精品国产第一综合99久久| 国产精品麻豆欧美日韩ww| 久久久99久久| 久久精品亚洲精品国产欧美| 精品国产一区二区三区忘忧草 | 欧美一级欧美三级| 欧美日韩精品一区二区三区| 成人三级在线视频| 国产精品亚洲а∨天堂免在线| 麻豆freexxxx性91精品| 日韩国产欧美在线播放| 亚洲成人手机在线| 亚洲午夜在线视频| 一区二区三区国产精品| 一区二区三区不卡在线观看| 亚洲综合色噜噜狠狠| 一区二区三区小说| 亚洲小说欧美激情另类| 亚洲第一福利一区| 秋霞电影网一区二区| 麻豆91在线播放免费| 午夜精品成人在线| 蜜桃久久精品一区二区| 狠狠色狠狠色综合系列| 日韩二区三区四区| 国产一区在线精品| 成人国产精品免费观看动漫| 99精品视频一区二区| 色网综合在线观看| 欧美精品第1页| 精品免费一区二区三区| 国产色一区二区| 亚洲婷婷国产精品电影人久久| 亚洲精品久久嫩草网站秘色| 亚洲成人黄色小说| 久久精品国产**网站演员| 国产激情视频一区二区三区欧美 | 亚洲精品国产第一综合99久久 | 亚洲在线观看免费视频| 日本午夜一本久久久综合| 天天综合天天做天天综合| 首页国产欧美久久| 国产精品一区在线观看你懂的| 精品一区二区三区免费观看| 成人精品一区二区三区中文字幕 | 欧美在线视频全部完| 日韩午夜精品视频| 亚洲国产精品激情在线观看| 一区二区日韩电影| 日韩成人一级大片| 成人avav在线| 欧美一区三区四区| 国产精品丝袜久久久久久app| 亚洲精品免费在线播放| 精品系列免费在线观看| 99久久伊人网影院| 欧美一级午夜免费电影| 中文字幕精品—区二区四季| 午夜精品成人在线| av亚洲精华国产精华精华 | 欧美一区二区三区在线看| 日韩一级精品视频在线观看| 亚洲素人一区二区| 另类调教123区| 欧洲中文字幕精品| 国产午夜精品久久久久久免费视| 亚洲自拍另类综合| 国产九九视频一区二区三区| 欧美日韩成人综合在线一区二区| 欧美国产欧美综合| 老司机精品视频导航| 欧亚一区二区三区| 亚洲国产精品成人综合| 蜜臀av国产精品久久久久| 91久久国产最好的精华液| 国产欧美一区二区精品性| 日欧美一区二区| 色婷婷综合久久久中文字幕| 国产亚洲欧洲一区高清在线观看| 水蜜桃久久夜色精品一区的特点 | 久久这里只有精品首页| 亚洲成人动漫精品| 91麻豆精品秘密| 国产女同性恋一区二区| 国模冰冰炮一区二区| 制服丝袜亚洲精品中文字幕| 亚洲最大成人网4388xx| www.视频一区| 精品福利一二区| 免费在线看成人av| 欧美精品一二三| 午夜精品一区二区三区电影天堂| 9人人澡人人爽人人精品| 国产校园另类小说区| 精品一区二区免费看| 欧美精品xxxxbbbb| 亚洲成人av福利| 国产91精品久久久久久久网曝门| 日韩女优av电影| 日本一不卡视频| 91精品婷婷国产综合久久竹菊| 国产精品久久久久一区| 国产成人精品亚洲日本在线桃色 | 91丨porny丨蝌蚪视频| 国产婷婷色一区二区三区四区| 久久99久国产精品黄毛片色诱| 欧美精品一二三| 日产国产欧美视频一区精品| 欧美久久一二区| 免费观看在线色综合| 91精品国产综合久久精品麻豆| 亚洲国产精品麻豆| 欧美人狂配大交3d怪物一区| 亚洲午夜国产一区99re久久| 99国内精品久久| 国产欧美精品日韩区二区麻豆天美 | 欧美福利电影网| 蜜臀精品久久久久久蜜臀| 欧美成人猛片aaaaaaa| 日本视频在线一区| 91精品国产色综合久久ai换脸 | 国产精品免费丝袜| 99在线精品一区二区三区| 亚洲视频在线一区观看| 色综合天天综合网国产成人综合天 | 国内精品免费**视频| 国产日产欧产精品推荐色| 国产不卡在线视频| 亚洲欧美另类图片小说| 欧美在线一二三四区| 免费成人av资源网| 337p日本欧洲亚洲大胆精品 | 色一情一伦一子一伦一区| 亚洲高清不卡在线| 欧美精品第1页| 国产福利精品导航| 最近中文字幕一区二区三区| 欧美中文字幕一区二区三区亚洲| 亚洲图片一区二区| 欧美精品一区二区三区四区| 日本国产一区二区| 国产精品一区久久久久| 亚洲综合免费观看高清完整版| 久久伊人中文字幕| 欧美日韩久久一区二区| caoporn国产精品| 美女一区二区三区在线观看| 一区二区三区在线不卡| 国产精品视频麻豆| 日韩午夜小视频| 欧美日韩国产另类一区| 99麻豆久久久国产精品免费|