STM32 外部FLASH(W25Q64)模擬U盤

2022-06-27 15:06:08 字數 2071 閱讀 5572

1、硬體:stm32f103vet6微控制器(hal庫)

2、編譯環境:atollic truestudio for stm32 9.3.0

3、輔助工具:stm32cubemx

1、開啟除錯介面

2、選擇時鐘源

3、開啟usb功能

4、選擇usb中介軟體,配置usb為大容量儲存型別,資料報的大小為4k(使用的的外部flash乙個扇區的大小為4kbyte),其它預設

5、根據原理圖,需要配置pd6引腳輸出為低電平

6、配置系統時鐘

7、生成工程,注意要將堆改大一些

從工程目錄中可以可以看到多了一些關於usb的內容

1、工程建立後,再新增外部flash的初始化和讀寫程式,用於usb呼叫

2、修改usbd_storage_if.c檔案

使用到的一些巨集定義

/*

* @defgroup usbd_storage_private_defines

* @brief private defines.

* @

狀態函式

/*

* * @brief .

* @param lun: .

* @retval usbd_ok if all operations are ok else usbd_fail

*/int8_t storage_isready_fs(uint8_t lun)

else

/*user code end 4

*/}

讀函式

/*

* * @brief .

* @param lun: .

* @retval usbd_ok if all operations are ok else usbd_fail

*/int8_t storage_read_fs(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)

寫函式

/*

* * @brief .

* @param lun: .

* @retval usbd_ok if all operations are ok else usbd_fail

*/int8_t storage_write_fs(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)

1、第一次執行需要格式化虛擬出來的優盤

2、格式化完成後就可以在自己的電腦上看到優盤

4、建立乙個檔案測試讀寫是否正常,然後彈出優盤重新上電復位,檢視檔案是否還在

#endif

STM32外部中斷

一 基本概念 arm coetex m3核心共支援256個中斷,其中16個內部中斷,240個外部中斷和可程式設計的256級中斷優先順序的設定。stm32目前支援的中斷共84個 16個內部 68個外部 還有16級可程式設計的中斷優先順序的設定,僅使用中斷優先順序設定8bit中的高4位。stm32可支援...

stm32外部中斷

外部中斷程式配置流程 rcc 時鐘配置 void rcc configuration void 時鐘配置 開啟各路時鐘 rcc apb2periphclockcmd rcc apb2periph usart1 rcc apb2periph gpioa rcc apb2periph afio,enab...

stm32外部中斷

好久沒玩微控制器了,最近閒著沒事想拿出來玩玩,沒想到乙個stm32的外部中斷讓我花費了兩天時間,好的的挫折啊!終於下午除錯成功,下面來說一下我的除錯之路吧!硬體就是兩個按鍵,四個led,led事共陽極接法,按鍵一端接地一端接gpio口,通過按鍵中斷控制led。程式寫好以後發現始終無法進入中斷,開始查...