最底層
1)、usb_int.c,本檔案包含兩個中斷服務函式ctr_lp()和ctr_hp(),在接收傳送中斷時使用這兩個函式進行處理,這兩個函式又呼叫各個usb端點處理函式,端點處理函式由使用者自定義。
2)、usb_regs.c,本檔案時硬體抽象層。它含有各種用於讀取或設定usb暫存器的函式,相當於對暫存器操作方法的封裝。
3)、usb_mem.c,本檔案主要負責進行資料傳輸處理。它主要負責資料在使用者區域(記憶體)或usb資料報緩衝區的互相轉移。
中間層1)、usb_core.c,本檔案主要負責usb協議管理,如usb標準請求、各種端點0的控制資訊處理。
2)、usb_init.c,本檔案主要包含了usb初始化的函式。
3)、usb_sil.c,本檔案包含精簡介面的初始化或向端點讀寫的操作函式。
上層1)、usb_pwr.c,該檔案中包含處理上電、掉電、掛起和恢復事件的函式。
2)、usb_istr.c,該檔案中只有乙個函式,即usb中斷的usb_istr函式,該函式對各類引起usb中斷的事件做輪詢處理。
3)、usb_desc.c,該檔案包含一些與usb相關的裝置描述符、配置描述符等,以陣列形式儲存,在usb主機請求的時候這些資訊將傳送給主機。
5)、usb_prop.c,該檔案用於實現相關裝置的usb協議,如初始化、setup包、in包、out包等。
6)、usb_endp.c,本檔案包含端點收、傳送的處理函式,由使用者根據不同的usb裝置進行不同的定義。
usb的應用軟體在這三層上,在不同的usb應用中,使用者可能需要對usb韌體庫的上層部分檔案配置進行修改(主要為usb_prop.c何usb_endp.c檔案)。而中間層何底層封裝的非常好,對
這些檔案使用者是不需要進行改動的。
初識STM32F10X 應用韌體公升級
正常stm32f103zet6的啟動有三種方式 1.內建flash啟動 2.內建sram啟動 3.系統儲存器rom啟動 通過boot0合boot1引腳的設定可以選擇哪種啟動方式。1 iap的bootloader引導程式。還有中斷向量表偏移 define iap 1 int main void 其中 ...
STM32F10x系列 中斷
概念問題 中斷與事件有什麼聯絡與區別?stm32之中斷與事件 中斷與事件的區別 簡單概括下。中斷 cpu單執行緒情況下只能處理單一任務,在有零時任務需要處理時,可以暫時放下當前任務,優先處理零時任務,再回過來處理之前的任務。多個中斷可以進行巢狀,比如產生了多個零時任務,那麼就可以按照優先順序處理這多...
STM32F10X入門 流水燈
2019 3 16 2019 3 19 core cm32.c stdin.h中定義了字元型 stm32f10x.h stm32f10x conf.h中定義了引用的外設標頭檔案 庫檔案之間的依賴呼叫關係 pngstm32f10x.h檢視位址對映 比如define gpioa base apb2per...