首頁(yè) > 評(píng)測(cè) > 第一款STM32F2開(kāi)發(fā)板——NUCLEO-F207ZG評(píng)測(cè)
第一款STM32F2開(kāi)發(fā)板——NUCLEO-F207ZG評(píng)測(cè)
- [導(dǎo)讀]
- 在今年年初,ST公司正式對(duì)外發(fā)布了五款NUCLEO-144的開(kāi)發(fā)板,NUCLEO-F207ZG便是其中的一款。
到這里為止就完成了所需的開(kāi)發(fā)環(huán)境的搭建。
4.實(shí)驗(yàn)演示
這里將演示幾個(gè)實(shí)驗(yàn),同時(shí)介紹一下如何進(jìn)行開(kāi)發(fā)NUCLEO-F207ZG。
首先打開(kāi)mbed平臺(tái),選擇好開(kāi)發(fā)板,點(diǎn)擊左上方的New,選擇例程N(yùn)ucleo_printf,如圖4-1所示
圖4-1選擇例程
然后看一下程序的組成,如圖4-2,這個(gè)mbed平臺(tái)跟Arduino IDE差不多,將所有的硬件層描述,函數(shù)等都封裝到一個(gè)庫(kù)中,這個(gè)庫(kù)就是這里的mbed文件夾,用戶可以對(duì)其進(jìn)行修改。每一塊開(kāi)發(fā)板對(duì)應(yīng)的mbed庫(kù)中的內(nèi)容都不一樣。而main.c里面就是程序的主體了
圖4-2 mbed程序組成
選擇上方的編譯按鈕,進(jìn)行編譯并下載二進(jìn)制文件
圖4-3 mbed編譯
將開(kāi)發(fā)板與PC連接,然后將下載的二進(jìn)制文件復(fù)制到名為mbed的存儲(chǔ)設(shè)備中即完成程序的下載。然后打開(kāi)putty,設(shè)置波特率9600,一位停止位,無(wú)校驗(yàn)位,最后打印出來(lái)的結(jié)果如下
圖4-4
NUCLEO-F207ZG開(kāi)發(fā)板由于面世的時(shí)間比較短,因此mbed上面還沒(méi)有太多的例程,而且目前還不能支持與MDK等線下開(kāi)發(fā)平臺(tái)的聯(lián)合開(kāi)發(fā)。
下面介紹一下如何在MDK下進(jìn)行開(kāi)發(fā),循環(huán)點(diǎn)亮板載的三個(gè)LED。首先要獲取一個(gè)名為stm32cubemx的軟件,下載地址為
http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
這個(gè)是ST的代碼配置工具,用這個(gè)工具可免除寫(xiě)初始代碼的麻煩。下載之后得到一個(gè)壓縮包,解壓縮之后直接安裝即可。安裝完成以后點(diǎn)擊“new project”新建工程,在器件選擇界面中選擇STM32F207ZGT,然后點(diǎn)擊OK,進(jìn)入如圖4-5所示界面。
圖4-5 STM32CubeMX新建工程
下面進(jìn)行時(shí)鐘配置。在左側(cè)RCC選項(xiàng)中,選擇使用外部晶振,即HSE的選項(xiàng)改為crystal,點(diǎn)擊上方的“clock configuration”進(jìn)入時(shí)鐘配置界面。
在時(shí)鐘配置界面修改以下三個(gè)位置:
1、input frequence選擇25MHz,PLL source Mux選擇HSE
2、system clock Mux選擇PLLCLK
3、HCLK選擇120MHz
如圖4-6所示
圖4-6 PLL配置
回車(chē),系統(tǒng)會(huì)計(jì)算出一個(gè)比較合適的參數(shù)
完成時(shí)鐘配置之后進(jìn)行引腳配置。首先在原理圖中找到三個(gè)LED對(duì)應(yīng)的管腳,如圖4-7所示
圖4-7 管腳分布
在Pinout界面下找到PB0、PB7與PB14,配置為普通的GPIO-output口。
完成之后直接生成項(xiàng)目,名稱和路徑可以任選,生成的工程這里選擇為MDK 5。
隨后在生成的文件中找到那個(gè)MDK的project的工程文件并打開(kāi)。
下面來(lái)看看如何使用GPIO口。打開(kāi)main.c,然后找到如圖4-8 所示程序段
圖4-8
這里可以看出使能GPIO的程序是
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_14|GPIO_PIN_7, GPIO_PIN_RESET);
因此,只要在之前的while(1)中增加
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET);
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車(chē)啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前