01 STM32F373USB功能
一、前言
這是今天上午制作的采集和控制電路板,其中設(shè)計(jì)了 STM32F373 的USB接口。 計(jì)劃通過這個接口完成單片機(jī)與 上位機(jī)的數(shù)據(jù)交換。更重要的是,實(shí)現(xiàn)單片機(jī)程序的更改。下面對這個端口功能進(jìn)行軟件測試。
二、測試功能
1、測試USB通訊
首先在 STM32 Cube MX 中配置 USB 功能,設(shè)置內(nèi)部驅(qū)動軟件為虛擬串口。在原理圖設(shè)計(jì)的時候,使用 PA15 端口控制USB使能電壓。因此,在 管腳功能配置中,將 PA15 配置成輸出端口。軟件啟動之后,將這個端口置為 高電平,便可以啟動 USB端口電腦識別過程了。
下載程序之后,將 Mini USB 接入電路板,可以看到在Windows 設(shè)備管理 端口中,會出現(xiàn) 虛擬串口。根據(jù)往常的經(jīng)驗(yàn),如果出現(xiàn)的端口號不再 10 之內(nèi),往往使用普通程序需無法訪問該串口。因此建議手工將這個端口號修改到 10 之內(nèi)的一個不沖突的串口。下面通過兩個軟件來驗(yàn)證,這個 USB端口可以進(jìn)行讀寫的功能。在右面,顯示了單片機(jī)接收到的發(fā)送字符。至此驗(yàn)證了 STM32F373的 USB 作為虛擬串口能夠與 計(jì)算機(jī)進(jìn)行通訊了。
2、USB 下載程序
下面測試一下 USB 程序下載功能。在設(shè)計(jì)的電路板上,有一個插座將 單片機(jī)的 BOOT0 與 3.3V連接起來。通過短路子放在插座上,使得單片機(jī) BOOT0 連接高電平。這樣單片機(jī)在啟動的時候,便進(jìn)入 內(nèi)部 BOOTLOADER 程序。它會首先檢查 USB 是否連接到微機(jī),如果連接,便進(jìn)入 USB 程序下載狀態(tài)。現(xiàn)在將一個短路子插在BOOT0 插座上,將電路斷電后,接入USB,這樣電路板重新上d電了。很可惜,居然在微機(jī)端口沒有能夠發(fā)現(xiàn)新的 USB設(shè)備。下面將原來有 端口控制的 1.5kΩ 的電阻,直接連接到3.3V。這樣,電路板上電之后,便可以直接使能 USB 端口,果然,經(jīng)過修改之后,STM32 Cube Programmer 便可以發(fā)現(xiàn) USB 下載端口了。使用這個端口可以將 F373 的程序下載到單片機(jī)中。
※ 總??結(jié) ※
本文記錄了對 F373 USB 功能的測試,通過測試,也修改也原來電路板的y原理圖設(shè)計(jì),比如在這里,將原來由單片機(jī)控制的 1.5k 歐姆直接連接到 3.3V。這樣便可以在 BOOT0連接到 3.3V的時候,能夠自動進(jìn)入 BOOTLOADER 狀態(tài)了??梢詫?shí)現(xiàn) USB 程序更改的功能。下面該進(jìn)入單片機(jī)應(yīng)用程序的開發(fā)了。