首頁(yè) > 評(píng)測(cè) > 環(huán)肥燕瘦,精彩紛呈——STM32F031K6開發(fā)板評(píng)測(cè)

環(huán)肥燕瘦,精彩紛呈——STM32F031K6開發(fā)板評(píng)測(cè)

STM32   F031K6   意法半導(dǎo)體      
  • 作者:netlhx
  • 來源:21ic
  • [導(dǎo)讀]
  • ST 的官方評(píng)估板又添了新成員,今天測(cè)評(píng)的STM32F031K6 就是NUCLEO32 中的首批評(píng)估板。
5.STM32.jpg

中規(guī)中矩的一顆芯。

復(fù)位按鈕

說實(shí)話,我是第一次看到這樣的按鈕,所以找了很久才找到。復(fù)位按鈕的作用當(dāng)然是用來給系統(tǒng)復(fù)位的。功能很簡(jiǎn)單,就怕你找不到!

ST-LINK/V2-1

板載ST-LINK/V2-1接口似乎已成ST官方開發(fā)板的標(biāo)配,以前的DISCOVERY板只支持ST-LINK/V2,二者的差別之一就是前者能使用虛擬串口功能,這樣,在與PC連接的時(shí)候就可以直接通過UART與PC通信,不再需要專門的串口模塊了。

ST-LINK使用的是一顆STM32F103C8T6的芯,這在所有的ST-LINK/V2中都是一樣的。注意這顆芯在開發(fā)板的背面。

IDD

IDD只是用來給你測(cè)功耗的,別的也沒有什么用途。如果需要測(cè)量開發(fā)板的電流,拔掉這個(gè)跳線帽,用萬(wàn)用表連接上去就可以測(cè)量開發(fā)板的電流,進(jìn)而評(píng)估開發(fā)板的功耗。不過這個(gè)IDD跳線太過纖弱,插拔要小心,我就是在使用萬(wàn)用表測(cè)試電流的過程中將這個(gè)小東西扯下來了。

關(guān)于供電

開發(fā)板提供了幾種供電機(jī)制,使用非常靈活。

USB供電

可以通過USB直接從PC取電。需要注意的是在USB開始枚舉之前,只會(huì)給ST-LINK供電,此時(shí)只需要100MA的電流。在USB進(jìn)行枚舉時(shí),它向PC詢問是否能提供300MA的電流,如果PC能夠提供的話,此時(shí)開發(fā)板開始上電,同時(shí)LED LD2點(diǎn)亮。如果PC端不能滿足此要求,則只能使用外部供電。

外部供電

外部供電有三種方案,VIN、+5V或+3V3。

當(dāng)使用VIN或+5V的供電方案時(shí),仍然能使用ST-LINK。只不過在這種情況下,需要先給板子供電,然后再連接PC,此時(shí)因?yàn)槭峭獠抗╇,枚舉肯定能夠成功。使用外部VIN供電時(shí),電壓范圍可以是7-12V,此時(shí)最大可以提供約800MA的電流,而使用+5V供電時(shí),則能達(dá)到最大約500MA的電流。

使用CN4上的+3V3給板子供電時(shí),此時(shí)ST-LINK上沒有電,所以不能用來調(diào)試。

將USB與PC連接后,開發(fā)板開始上電工作,此時(shí)LED LD3開始閃爍,頻率約為0.5HZ

 

代碼測(cè)試

好了,板子也認(rèn)識(shí)了解得差不多了,跑個(gè)代碼。

準(zhǔn)備工作

STM32的NUCLEO系列除了支持傳統(tǒng)的GCC工具鏈之外,還支持M-BED云端開發(fā)。M-BED是一個(gè)在線開發(fā)環(huán)境,因?yàn)榛谠贫碎_發(fā),所以能很好的實(shí)現(xiàn)代碼共享,全球的STM32開發(fā)者都位于同一個(gè)平臺(tái),共享相同的代碼。

本文使用MDK做為開發(fā)工具。自MDK 5.X推出后,使用的是一種新的稱之為PACK的機(jī)制,即每個(gè)系列的MCU都有自己對(duì)應(yīng)的PACK,所以在正式體驗(yàn)之前,先要到這里下載好對(duì)應(yīng)的PACK。

http://www.keil.com/dd2/packs/,最新的版本是1.4。

將下載好的PACK導(dǎo)入到MDK開發(fā)工具中。

下載F0系列的官方示例代碼。ST官方的代碼庫(kù)現(xiàn)在稱為HAL庫(kù),區(qū)別于傳統(tǒng)的STD庫(kù)。HAL庫(kù)是ST官方主推的開發(fā)庫(kù),STD庫(kù)已不再更新和維護(hù)。從這里下載最新的官方HAL庫(kù)。

http://www.st.com/web/en/catalog/tools/PF260612

最新版本也是1.4。

ST官方推出一個(gè)圖形化編程工具STM32CUBEMX,在上面的鏈接中下載,安裝。需要注意的是STM32CUBEMX需要JAVA支持,所以還要下載JAVA運(yùn)行時(shí)支持包。

不贅述。

如果還沒有安裝ST-LINK/V2-1的驅(qū)動(dòng),在上面的頁(yè)面中還要下載ST-LINK的驅(qū)動(dòng)安裝。正常安裝后設(shè)備管理器里應(yīng)出現(xiàn)如下的驅(qū)動(dòng)。

9.jpg

生成代碼

運(yùn)行STM32CUBEMX代碼生成工具,創(chuàng)建一個(gè)新的工程,選擇對(duì)應(yīng)的MCU,如下圖

10.jpg

接下來選擇外設(shè),這里只使用了LED,通過查看原理圖,LD3連接在PB3上。所以直接在PB3引腳上右擊,選擇GPIO_OUTPUT。

11.jpg

接下來設(shè)置時(shí)鐘樹,由于NUCLEO32板沒有提供外部晶振接口,所以就只能使用HSI了。通過前面的介紹,我們知道STM32F031K6最高支持48MHZ的頻率。故作如下配置

12.jpg

然后就是生成代碼了,點(diǎn)擊生成工程按鈕

13.jpg

在彈出的工程設(shè)置對(duì)話框中作相應(yīng)的設(shè)置

14.jpg

這樣一個(gè)工程文件就生成了。需要注意的是,STM32CUBEMX只會(huì)給你生成工程文件的框架,并不會(huì)給你添加程序邏輯,所以要想實(shí)現(xiàn)自己的功能,就需要往這個(gè)框架里添加實(shí)現(xiàn)代碼。

添加邏輯

使用MDK打開剛才生成的工程,打開main.c文件,在while循環(huán)里添加如下語(yǔ)句

/* Infinite loop */

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+