開發環境:Window 7
開發工具:Keil uVision4
硬件:stc32f103c8t6
stm32系列芯片很多都擁有一個USB2.0全速的通訊接口,下面介紹怎麼使用st官方的usb應用例程。
首先從官網下載源碼:
https://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-standard-peripheral-library-expansion/stsw-stm32121.html
需要登錄才能下載,如果沒有賬號,註冊一個也很快的。
下載解壓,打開目錄至en.stsw-stm32121\STM32_USB-FS-Device_Lib_V4.1.0\Projects
以串口設備爲例,轉到Virtual_COM_Port\MDK-ARM目錄底下,電腦需要安裝了Keil uVision5開發工具,點擊打開工程文件:
打開工程後,根據下圖,選擇一個跟自己所用芯片相對應的targets:
對於stc32f103c8t6來說選的是STM3210B-EVAL。
下面的圖是工程文件,雖然看起來很多,但帶紅標的是不參與編譯的文件,如下左圖;這個可以右擊文件夾進行配置是否加入編譯,如下右圖。
接下來就可以編譯了。
基本不會有錯,編譯好了就可以下載到板子裏面,如果是用j-link下載,那麼還要進行一下配置:
選完j-link之後,把j-link燒錄器接到電腦上,點擊Settings,進入:
選擇SW,如果這時候接好芯片,那麼右邊就會顯示idcode。然後點擊上欄的FlashDownload,進入:
選擇EraseFull C,確定,OK,退出設置,點擊下載按鈕,把程序下載到芯片裏面去。
下載好了之後,通過USB-mrico把芯片連接到PC端。
電腦端會顯示無法該設備,以爲還沒有安裝驅動,打開設備管理器,可以看到出現有歎號的設備:
驅動從官網下載,下載地址:
下載解壓後如圖:
如果電腦室win7 64位就安裝第一個,選擇合適的安裝。安裝了之後,如果沒有把j-link從電腦拔掉的話就把它拔了,然後將芯片的usb口重新插拔一下,接到電腦上,這時候打開設備管理器,就能看到已經可以正常使用該設備:
打開串口助手,可以選擇它作爲串口輸出,如下圖,那麼芯片就會將usb收到的數據從usart1,也就是PA.9引腳發送出去,同時也會將usart1收到的數據轉發到電腦端的串口助手上。可以再用一個usb > ttl的設備,將RX、TX交叉連接,打開兩個串口助手,分別選用這兩個設備,那麼這兩個串口助手就能相互收發信息。
這裏只演示一個官方例程,其他的也可以自行嘗試,步驟差不多,有些通用設備是不需要再安裝驅動,電腦端也能識別,比如Audio_Speaker。