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

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

?? 51+ch375讀寫u盤超精簡原程序(啊雨).htm

?? 使用51單片機和usb ch375芯片
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0037)http://www.daxia.com/list.asp?id=1700 -->
<HTML><HEAD><TITLE>51+ch375讀寫U盤超精簡原程序(啊雨)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK 
href="51+ch375讀寫U盤超精簡原程序(啊雨).files/style.css" rel=stylesheet>
<META content="MSHTML 6.00.2900.2604" name=GENERATOR></HEAD>
<BODY>
<DIV align=center>
<CENTER></CENTER></DIV>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width="97%" 
borderColorLight=#000000 border=1>
  <TBODY>
  <TR>
    <TD width="100%" bgColor=#d0d0d0>
      <P align=center>文章編號:1700----加入日期:2005-3-15 </P></TD></TR>
  <TR>
    <TD width="100%">
      <P align=right><A href="javascript:self.close()">『關閉窗口』</A></P></TD></TR>
  <TR>
    <TD width="100%">
      <P align=center><B>51+ch375讀寫U盤超精簡原程序(啊雨)</B></P></TD></TR>
  <TR>
    <TD width="100%">
      <BLOCKQUOTE><BR>/* 
        這個程序用180行C代碼就能夠讀取FAT16文件系統U盤的根目錄,可以看到根目錄下的文件<BR>名,并可顯示<BR>首文件內容,不過,該程序很不嚴謹,也沒有任何錯誤處理,對U盤兼容性較差,只是用于簡單試<BR>驗,作為參考.<BR>這個程序可以支持WINDOWS按FAT16格式化的U盤,因為程序精簡,所以只兼容超過50%以上的U<BR>盤品牌,如果換<BR>成CH375A芯片則兼容性可提高到85%,當然,如果使用WCH公司的子程序庫或者正式版本的C源<BR>程序兼容性更好。<BR>下<BR>歡測試以下U盤通過:郎科/超穩經典64M/超穩迷你128M/U160-64M/超穩普及128M,愛國者/迷<BR>你王16M/郵箱型,<BR>黑匣子/64M,微閃/64M,飆王/32M/64M/128M,晶彩/C200-64M,新科/256M,昂達/128M...,歡迎<BR>提供測試結果<BR>未通過U盤:愛國者/智慧棒128M,清華普天/USB2.0-128M,當然,使用WCH的子程序庫或CH375A<BR>都可以測試通過 
        */<BR><BR>#include &lt;stdio.h&gt;<BR>#include "CH375INC.H"<BR>#include 
        &lt;reg51.h&gt;&nbsp;&nbsp;/* 以下定義適用于MCS-51單片機,其它單片機參照修改 
        */<BR>#define&nbsp;&nbsp;UINT8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
        char<BR>#define&nbsp;&nbsp;UINT16&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
        short<BR>#define&nbsp;&nbsp;UINT32&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
        long<BR>#define&nbsp;&nbsp;UINT8X&nbsp;&nbsp;&nbsp;&nbsp;unsigned char 
        xdata<BR>#define&nbsp;&nbsp;UINT8VX&nbsp;&nbsp;&nbsp;unsigned char 
        volatile xdata<BR>UINT8VX&nbsp;&nbsp;&nbsp;&nbsp;CH375_CMD_PORT _at_ 
        0xBDF1;&nbsp;&nbsp;/* CH375命令端口的I/O地址 
        */<BR>UINT8VX&nbsp;&nbsp;&nbsp;&nbsp;CH375_DAT_PORT _at_ 
        0xBCF0;&nbsp;&nbsp;/* CH375數據端口的I/O地址 
        */<BR>#define&nbsp;&nbsp;&nbsp;&nbsp;CH375_INT_WIRE&nbsp;&nbsp;&nbsp;&nbsp;INT0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* 
        P3.2, 連接CH375的INT#引腳,用于查詢中<BR>斷狀態 
        */<BR>UINT8X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DISK_BUFFER[512*32] _at_ 
        0x0000;&nbsp;&nbsp;/* 外部RAM數據緩沖區的起始地址 
        */<BR><BR>UINT32&nbsp;&nbsp;DiskStart;&nbsp;&nbsp;&nbsp;&nbsp;/* 
        邏輯盤的起始絕對扇區號LBA 
        */<BR>UINT8&nbsp;&nbsp;&nbsp;SecPerClus;&nbsp;&nbsp;&nbsp;/* 邏輯盤的每簇扇區數 
        */<BR>UINT8&nbsp;&nbsp;&nbsp;RsvdSecCnt;&nbsp;&nbsp;&nbsp;/* 邏輯盤的保留扇區數 
        */<BR>UINT16&nbsp;&nbsp;FATSz16;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* 
        FAT16邏輯盤的FAT表占用的扇區數 */<BR><BR>/* ********** 
        硬件USB接口層,無論如何這層省不掉,單片機總要與CH375接口吧 */<BR><BR>void&nbsp;&nbsp;mDelaymS( 
        UINT8 delay ) {<BR>&nbsp;&nbsp;UINT8&nbsp;&nbsp;i, j, 
        c;<BR>&nbsp;&nbsp;for ( i = delay; i != 0; i -- ) 
        {<BR>&nbsp;&nbsp;&nbsp;&nbsp;for ( j = 200; j != 0; j -- ) c += 
        3;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for ( j = 200; j != 0; j -- ) c += 
        3;<BR>&nbsp;&nbsp;}<BR>}<BR><BR>void CH375_WR_CMD_PORT( UINT8 cmd ) 
        {&nbsp;&nbsp;/* 向CH375的命令端口寫入命令 
        */<BR>&nbsp;&nbsp;CH375_CMD_PORT=cmd;<BR>&nbsp;&nbsp;for ( cmd = 2; cmd 
        != 0; cmd -- );&nbsp;&nbsp;/* 發出命令碼前后應該各延時2uS */<BR>}<BR>void 
        CH375_WR_DAT_PORT( UINT8 dat ) {&nbsp;&nbsp;/* 向CH375的數據端口寫入數據 
        */<BR>&nbsp;&nbsp;CH375_DAT_PORT=dat;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* 
        因為MCS51單片機較慢所以實際上無需延時 */<BR>}<BR>UINT8 CH375_RD_DAT_PORT( void ) 
        {&nbsp;&nbsp;&nbsp;&nbsp;/* 從CH375的數據端口讀出數據 */<BR>&nbsp;&nbsp;return( 
        CH375_DAT_PORT );&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* 
        因為MCS51單片機較慢所以實際上無需延時 */<BR>}<BR>UINT8 mWaitInterrupt( void ) 
        {&nbsp;&nbsp;/* 等待CH375中斷并獲取狀態,返回操作狀態 */<BR>&nbsp;&nbsp;while( 
        CH375_INT_WIRE );&nbsp;&nbsp;/* 查詢等待CH375操作完成中斷(INT#低電平) 
        */<BR>&nbsp;&nbsp;CH375_WR_CMD_PORT( CMD_GET_STATUS );&nbsp;&nbsp;/* 
        產生操作完成中斷,獲取中斷狀態 */<BR>&nbsp;&nbsp;return( CH375_RD_DAT_PORT( ) 
        );<BR>}<BR><BR>/* ********** BulkOnly傳輸協議層,被CH375內置了,無需編寫單片機程序 
        */<BR><BR>/* ********** 
        RBC/SCSI命令層,雖然被CH375內置了,但是要寫程序發出命令及收發數據&nbsp;&nbsp;<BR>*/<BR><BR>UINT8&nbsp;&nbsp;mInitDisk( 
        void ) {&nbsp;&nbsp;/* 初始化磁盤 */<BR>&nbsp;&nbsp;UINT8 
        Status;<BR>&nbsp;&nbsp;CH375_WR_CMD_PORT( CMD_GET_STATUS 
        );&nbsp;&nbsp;/* 產生操作完成中斷, 獲取中斷狀態 */<BR>&nbsp;&nbsp;Status = 
        CH375_RD_DAT_PORT( );<BR>&nbsp;&nbsp;if ( Status == USB_INT_DISCONNECT ) 
        return( Status );&nbsp;&nbsp;/* USB設備斷開 
        */<BR>&nbsp;&nbsp;CH375_WR_CMD_PORT( CMD_DISK_INIT );&nbsp;&nbsp;/* 
        初始化USB存儲器 */<BR>&nbsp;&nbsp;Status = mWaitInterrupt( );&nbsp;&nbsp;/* 
        等待中斷并獲取狀態 */<BR>&nbsp;&nbsp;if ( Status != USB_INT_SUCCESS ) return( 
        Status );&nbsp;&nbsp;/* 出現錯誤 */<BR>&nbsp;&nbsp;CH375_WR_CMD_PORT( 
        CMD_DISK_SIZE );&nbsp;&nbsp;/* 獲取USB存儲器的容量 */<BR>&nbsp;&nbsp;Status = 
        mWaitInterrupt( );&nbsp;&nbsp;/* 等待中斷并獲取狀態 */<BR>&nbsp;&nbsp;if ( Status 
        != USB_INT_SUCCESS ) {&nbsp;&nbsp;/* 出錯重試 */<BR>/* 
        對于CH375A芯片,建議在此執行一次CMD_DISK_R_SENSE命令 
        */<BR>&nbsp;&nbsp;&nbsp;&nbsp;mDelaymS( 250 
        );<BR>&nbsp;&nbsp;&nbsp;&nbsp;CH375_WR_CMD_PORT( CMD_DISK_SIZE 
        );&nbsp;&nbsp;/* 獲取USB存儲器的容量 */<BR>&nbsp;&nbsp;&nbsp;&nbsp;Status = 
        mWaitInterrupt( );&nbsp;&nbsp;/* 等待中斷并獲取狀態 
        */<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;if ( Status != USB_INT_SUCCESS ) 
        return( Status );&nbsp;&nbsp;/* 出現錯誤 */<BR>&nbsp;&nbsp;return( 0 
        );&nbsp;&nbsp;/* U盤已經成功初始化 */<BR>}<BR><BR>UINT8&nbsp;&nbsp;mReadSector( 
        UINT32 iLbaStart, UINT8 iSectorCount, UINT8X *oDataBuffer ) 
        <BR>{<BR>&nbsp;&nbsp;UINT16&nbsp;&nbsp;mBlockCount;<BR>&nbsp;&nbsp;UINT8&nbsp;&nbsp;c;<BR>&nbsp;&nbsp;CH375_WR_CMD_PORT( 
        CMD_DISK_READ );&nbsp;&nbsp;/* 從USB存儲器讀數據塊 
        */<BR>&nbsp;&nbsp;CH375_WR_DAT_PORT( (UINT8)iLbaStart );&nbsp;&nbsp;/* 
        LBA的最低8位 */<BR>&nbsp;&nbsp;CH375_WR_DAT_PORT( (UINT8)( iLbaStart 
        &gt;&gt; 8 ) );<BR>&nbsp;&nbsp;CH375_WR_DAT_PORT( (UINT8)( iLbaStart 
        &gt;&gt; 16 ) );<BR>&nbsp;&nbsp;CH375_WR_DAT_PORT( (UINT8)( iLbaStart 
        &gt;&gt; 24 ) );&nbsp;&nbsp;/* LBA的最高8位 
        */<BR>&nbsp;&nbsp;CH375_WR_DAT_PORT( iSectorCount );&nbsp;&nbsp;/* 扇區數 
        */<BR>&nbsp;&nbsp;for ( mBlockCount = iSectorCount * 8; mBlockCount != 
        0; mBlockCount -- ) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;c = mWaitInterrupt( 
        );&nbsp;&nbsp;/* 等待中斷并獲取狀態 */<BR>&nbsp;&nbsp;&nbsp;&nbsp;if ( c == 
        USB_INT_DISK_READ ) {&nbsp;&nbsp;/* 等待中斷并獲取狀態,請求數據讀出 
        */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CH375_WR_CMD_PORT( 
        CMD_RD_USB_DATA );&nbsp;&nbsp;/* 從CH375緩沖區讀取數據塊 
        */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = CH375_RD_DAT_PORT( 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产色综合久久不卡蜜臀| 欧美日本一区二区在线观看| 日本视频一区二区三区| 亚洲精品国产一区二区精华液| 国产精品久久久久aaaa樱花| 中国色在线观看另类| 国产精品不卡在线| 亚洲欧美偷拍卡通变态| 亚洲美女在线国产| 天天操天天综合网| 黄网站免费久久| 国产精品自产自拍| 99在线精品免费| 欧洲一区二区三区在线| 欧美蜜桃一区二区三区| 欧美一二区视频| 中文字幕不卡在线播放| 亚洲男人的天堂在线aⅴ视频| 亚洲激情校园春色| 免费高清视频精品| 东方欧美亚洲色图在线| 91玉足脚交白嫩脚丫在线播放| 欧美日韩一区二区三区四区五区| 91麻豆精品国产| 中文字幕乱码日本亚洲一区二区| 亚洲综合另类小说| 裸体在线国模精品偷拍| 99久久精品免费精品国产| 7777精品伊人久久久大香线蕉 | 国产精品你懂的| 一区二区三区免费看视频| 日本不卡高清视频| 成人毛片视频在线观看| 91麻豆精品国产91久久久 | 亚洲色图丝袜美腿| 婷婷综合久久一区二区三区| 成人免费视频视频| 欧美日韩高清一区| 欧美激情一区二区三区不卡 | 精品精品欲导航| 国产精品不卡在线| 韩国v欧美v日本v亚洲v| 日本不卡一区二区| 亚洲成年人影院| 91精品国产福利| 精品一区中文字幕| 在线不卡a资源高清| 日韩专区欧美专区| 精品1区2区在线观看| 国产麻豆91精品| 亚洲天堂成人在线观看| 欧美日韩日日骚| 国模套图日韩精品一区二区| 国产人成亚洲第一网站在线播放| 99在线精品视频| 性感美女久久精品| www国产成人| 99久免费精品视频在线观看| 香蕉影视欧美成人| 国产日韩精品一区二区三区| 色94色欧美sute亚洲线路一久| 日日夜夜精品视频免费| 久久久久国产精品麻豆| 91久久精品一区二区三区| 青青国产91久久久久久| 国产精品久久久爽爽爽麻豆色哟哟| 日本韩国欧美国产| 国产伦精品一区二区三区免费| 国产精品久久久久影院色老大| 欧美精选在线播放| 成人午夜电影网站| 日日夜夜精品视频免费| 国产精品久久久久久户外露出| 欧美偷拍一区二区| 成人开心网精品视频| 日韩精品亚洲专区| 成人免费小视频| 精品久久久久久久久久久久久久久| 9色porny自拍视频一区二区| 久久精品国产一区二区| 亚洲激情网站免费观看| 久久久精品tv| 91麻豆精品国产91久久久资源速度 | 亚洲综合另类小说| 欧美韩日一区二区三区四区| 91精品国产综合久久久久| 91国产精品成人| 成人av电影在线网| 国产成人自拍在线| 久久99精品久久只有精品| 婷婷一区二区三区| 亚洲成人精品在线观看| 一区二区三区高清在线| 自拍偷拍欧美激情| 国产精品不卡视频| 欧美国产激情二区三区 | 欧美三电影在线| youjizz久久| 成人午夜短视频| 丁香激情综合五月| 福利91精品一区二区三区| 久久99九九99精品| 韩国欧美一区二区| 国产麻豆成人精品| 国产一区二区美女| 国产一区在线不卡| 国产精品1区2区| 国产成人h网站| 国产成人aaaa| a美女胸又www黄视频久久| 99久久99久久免费精品蜜臀| 播五月开心婷婷综合| 91欧美一区二区| 色诱亚洲精品久久久久久| 色噜噜狠狠色综合中国| 日本道免费精品一区二区三区| 91蝌蚪porny成人天涯| 91国偷自产一区二区开放时间| 色先锋资源久久综合| 欧美色窝79yyyycom| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲成人1区2区| 日韩和欧美的一区| 免费成人你懂的| 久久66热偷产精品| 成人午夜伦理影院| 91免费在线看| 在线不卡a资源高清| 欧美大黄免费观看| 国产日韩精品一区二区三区在线| 欧美激情综合在线| 亚洲一区二区三区在线看| 视频一区二区中文字幕| 国内精品伊人久久久久影院对白| 国产精品资源站在线| 色偷偷久久一区二区三区| 欧美三级午夜理伦三级中视频| 欧美videossexotv100| 亚洲欧洲三级电影| 日韩**一区毛片| 成人高清免费在线播放| 欧美日韩一区二区在线观看视频| 日韩精品影音先锋| 亚洲视频一二三| 精品中文字幕一区二区| 暴力调教一区二区三区| 欧美一级生活片| 国产精品超碰97尤物18| 免费日本视频一区| 不卡区在线中文字幕| 日韩一级视频免费观看在线| 中文字幕一区免费在线观看| 日韩在线一二三区| 成人手机在线视频| 欧美一区二区三区小说| 国产精品久久久久久久蜜臀| 亚洲不卡一区二区三区| 成人一区在线看| 日韩欧美一区二区三区在线| 亚洲精品国产视频| 国产精品性做久久久久久| 欧美区在线观看| 亚洲天堂av一区| 国产大片一区二区| 欧美成人在线直播| 亚洲va欧美va国产va天堂影院| 国产成人精品一区二| 欧美一区二区性放荡片| 一区二区三区在线免费播放| 国产精品888| 欧美videos中文字幕| 午夜视黄欧洲亚洲| 色丁香久综合在线久综合在线观看| 精品国产乱码久久久久久免费 | 欧美电影免费观看高清完整版| 亚洲人成亚洲人成在线观看图片 | 寂寞少妇一区二区三区| 欧美性猛交xxxxxx富婆| 国产精品网友自拍| 国产91精品入口| 国产清纯白嫩初高生在线观看91 | 国产人伦精品一区二区| 免费高清在线一区| 欧美军同video69gay| 亚洲乱码一区二区三区在线观看| 高清在线不卡av| 精品成人一区二区三区| 日韩中文字幕麻豆| 欧美三级电影在线看| 亚洲一二三四区| 日本韩国欧美国产| 亚洲一卡二卡三卡四卡| 日本韩国一区二区三区视频| 亚洲视频你懂的| 91蜜桃婷婷狠狠久久综合9色| 国产精品亲子伦对白| 不卡一区二区在线| 亚洲免费看黄网站| 91久久精品一区二区| 亚洲成a人片在线观看中文|