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)
/*1、第一次執行需要格式化虛擬出來的優盤* * @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)
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。程式寫好以後發現始終無法進入中斷,開始查...