freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

usb通信協(xié)議(參考版)

2025-01-04 09:51本頁面
  

【正文】 } 謝謝觀看 /歡迎下載 BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES. BY FAITH I BY FAITH 。 return 1。 return 0。 int result=InstallFirmware(appPath,ept1)。 len=strlen(appPath)。 int len。 ept1 = USBDevice1ControlEndPt。 } while (ddevices)。 d++。 int d = 0。 USBDevice1=new CCyUSBDevice。 if(bBulk!bIn) BulkOutEpt=(CCyBulkEndPoint*)USBDeviceEndPoints[i]。 bool bBulk=(USBDeviceEndPoints[i]Attributes==2)。ieptCount。 int eptCount=USBDeviceEndPointCount()。 CCyBulkEndPoint *BulkOutEpt=NULL。本段中,對 ept初始化表示數(shù)據(jù)從 USB設(shè)備發(fā)送到主機(jī),數(shù)據(jù)長度為 512個字節(jié),通過 XferData函數(shù)將該命令發(fā)送到 USB設(shè)備, USB設(shè)備芯片得到這個請求后,在響應(yīng)的請求代碼程序處理中將 128個數(shù)據(jù)發(fā)送給主機(jī),主機(jī)將接受到的數(shù)據(jù)保存在 buffer中。 在程序中,首先聲明了控制端點 ept,并對 ept進(jìn)行了參數(shù)設(shè)置。 LONG buflen =512。 char buf[512]。 eptValue=1。 eptReqCode=0x05。 eptTarget=TGT_DEVICE。所有 USB設(shè)備必須包含有端點 0,當(dāng) CCyUSBDevice完成 Open()函數(shù)后, CCyControlEndpoint的實例 ControlEndPt就會被創(chuàng)建, ControlEndPt指向控制端點 0, 使用ControlEndPt完成控制傳輸: CCyUSBDevice *USBDevice=new CCyUSBDevice(HANDLE)。 If(USBDeviceBulkOutEndPt) USBDeviceBulkOutEndPtXferData(buf,length)。 Usigned char buf[] =“hello world ”。 類 CCyUSBEndpoint 類是一個抽象類,由 4個子類: CCyControlEndpoint,CCyBulkEndPoint, CCyIsoEndPoint 和 CCyInterruptEndPoint。 pID=USBDeviceProductID。 do { USBDeviceOpen(d)。 int vID,pID。 IsOpen函數(shù) IsOpen函數(shù)用于檢查是否獲得 USB設(shè)備的句柄并啟動該設(shè)備,函數(shù)原型為: Bool CCyUSBDevice:: IsOpen(void) VendorID VendorID用于表示設(shè)備描述符 idVendor域的值,原型如下: USHORT CCyUSBDevice::VendorID ProductID ProductID用于表示設(shè)備描述符 idProduct域的值,原型如下: USHORT CCyUSBDevice::ProductID ProductID使用示例: USBDevice=new CCyUSBDevice(HANDLE)。 d++。 vID=USBDeviceVendorID。 int d=0。 int devices=USBDeviceDeviceCount()。 在 USB控制傳輸被固件正確響應(yīng)后, SETUPDAT中的數(shù)據(jù)將轉(zhuǎn)存到 USB芯片中8bit的 RAM,如下圖: S E T U P ADDR ENDP CRC5 Token packet DATA0 8bytes Setup Data CRC16 Data Packet ACK H/S PKT 設(shè)置階段 8字節(jié) RAM SETUPDAT SETOK中斷 SUDAV中斷 在 USB協(xié)議中,通過端點 0進(jìn)行 USB標(biāo)準(zhǔn)設(shè)備請求和自定義請求的響應(yīng), USB設(shè)備請求被編碼在 8字節(jié)的 SETUP包中, SETUP包的定義如下表: 當(dāng) RENUM=1時, EZUSB通過端點 0自動處理 USB請求,固件對 USB設(shè)備請求的響應(yīng)表如下: 字節(jié) 域 含義 0 bmRequesType 請求的類型及方向 1 bRequest 實際的請求 2 wValueL 16位數(shù)據(jù),根據(jù)bRequest不同而定 3 wValueH 4 wIndexL 16位數(shù)據(jù),根據(jù)bRequest不同而定 5 wIndexH 6 wLengthL 在數(shù)據(jù)階段傳輸?shù)淖止?jié)數(shù) 7 wLengthH bRequest 名稱 EZUSB動作 固件響應(yīng) 0x00 獲得狀態(tài) SUDAV中斷 提供 RemWU、 SelfPwr or Stall比特 0x01 清除特性 SUDAV中斷 清除 RemWU、 SelfPwr or Stall比特 0x02 保留 無 Stall EP0 0x03 設(shè)置特性 SUDAV中斷 設(shè)置 RemWU、 SelfPwr or Stall比特 0x04 保留 無 Stall EP0 0x05 設(shè)置地址 更新 FNADDR寄存器 無 0x06 獲得描述符 SUDAV中斷 通過 EP0IN提供描述符 0x07 設(shè)置描述符 SUDAV中斷 設(shè)置描述符 0x08 獲得配置 SUDAV中斷 發(fā)送當(dāng)前配置 0x09 設(shè)置配置 SUDAV中斷 改變請求配置 0x0A 獲得接口 SUDAV中斷 提供可選的接口設(shè)置 0x0B 設(shè)置接口 SUDAV中斷 設(shè)置接口 0x0C 同步幀 SUDAV中斷 通過 EP0IN提供同步幀 0xA0(Firmware load) 上傳 /下載 RAM數(shù)據(jù) 0xA10xAF SUDAV中斷 Cypress公司保留 All except 0xA0 SUDAV中斷 根據(jù)需要定義 Cypress公司為 EZUSB芯片提供的開發(fā)庫 Visual studio 及Borland c++ builder。 EZUSB位端點 0提供了一個 64字節(jié)的緩沖區(qū) ( EP0BUF) , 固件可以通過其進(jìn)行控制傳輸 , 實現(xiàn) USB協(xié)議中各種標(biāo)準(zhǔn)設(shè)備請求和自定義請求 。 但是 ,CY7C68013A只支持兩種傳輸速率 :全速 (Full Speed)12Mbps和高速(HighSpeed)480Mbps,不支持低速 (Low Speed)。 FX2這種獨創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸速率達(dá)到 480Mbps,即 。 8 、 CY7C68013 CY7c68013A芯片是 CYPress公司的 EZ一 USB FX2系列中一種滿足 ,同時兼容 USB芯片 ,是世界上第一款集成的 。 設(shè)備枚舉過程中使用的是控制傳輸。 ? 5 在設(shè)備能通訊前,主機(jī)給外設(shè)一個 SetConfiguration 請求 ,主機(jī)根據(jù)整個系統(tǒng)的 USB 使用情況確認(rèn)設(shè)備的哪一個配置有效,告訴其怎樣工作, 設(shè)備收到后調(diào)整有關(guān)配置,使設(shè)備能合理使用 。要把外設(shè)的各個端點的配置情形回送到主機(jī)中。主機(jī)操作系統(tǒng)根據(jù)描述符信息 尋找相應(yīng)的設(shè)備驅(qū)動程序 。 ? 3 外設(shè)再一次接收到 GetDescription請求。通過控制端點回送設(shè)備描述符,第一次只需要 保證設(shè)備描述符中前 8 個字節(jié)發(fā)送正確 ? 2 主機(jī)發(fā)送 SetAddress 請求到 USB 設(shè)備,給 USB 設(shè)備分配唯一的地址 。 bmRequestType bmRequest wValue wIndex wLength Data 00000000B( 0端點) 00000001B( 1端點) 00000010B( 2端點) CLEAR_FEATUR(01H) 特性選擇 0接口端點 0 無 bmRequestType bmRequest wValue wIndex wLength Data 00000000B SET_ADDRESS(05H) 設(shè)備地址 0 0 無 ( 3)設(shè)置地址( SetAddress) 該請求給 USB設(shè)備設(shè)置地址,從而可以對該 USB設(shè)備進(jìn)行進(jìn)一步的訪問。如果設(shè)置值等于 0,表示設(shè)備在地址狀態(tài)。 ( 4)設(shè)置配置( SetConfiguration) 該請求對設(shè)備進(jìn)行設(shè)置。如果端點被固件設(shè)為停止?fàn)顟B(tài),主機(jī)軟件(總線驅(qū)動程序)也可以發(fā)送一個值為 0的 CLEAR_FEATURE命令清除該端點的停止?fàn)顟B(tài)。 ( 2)清除
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1