今天利用STM32Cube和Protues來完LED閃爍實驗。

STM32Cube是能簡單創建底層設定的好工具。

以往有自己手key底層設定過的人都知道,要自己設定是相當麻煩的一件事,

個人認為這種工具一定要熟悉,千萬不要輕視這種快速開發的工具(有些人會輕視這種工具,甚至看不起),這裡說個題外話,如果你是老闆, 請了兩個工程師同時進行專案

工程師A利用STM32Cube快速建立底層設定,只花幾個小時就完成,工程師B則是K手冊、Datasheet自己手key-in,花了幾天時間

工程師B的功力既使比工程師A還厲害(畢竟完全自己打的),但是如果換個角度.在老闆眼中工程師A只花幾個小時就完成,你認為老闆覺得誰厲害??

因為老闆不懂技術細節,所以通常只著重在成效。而最能體現成效的就是花費的時間。

 

安裝Cube後(安裝應該不難),   

新增專案 選擇型號'STM32F103C6' Start project

 

image

 

在PB14、 PB13 、PB12 選擇GPIO_Output

image

 

在System core選擇 GPIO

並且在user label分別打上LED1 、LED2 、LED3

 

image

之後再Project_manager  

打入poject name 

toochin/ide 選擇用MDK-ARM

之後可以再右上角 generate code了

之後可以直接開啟專案

image

 

可以開啟keil c  已經幫你GPIO設定都設好了

image

 

接著直接在while(1) 裡面key入

        HAL_GPIO_WritePin(GPIOB,LED1_Pin,GPIO_PIN_SET);
        HAL_GPIO_WritePin(GPIOB,LED2_Pin,GPIO_PIN_SET);
        HAL_GPIO_WritePin(GPIOB,LED3_Pin,GPIO_PIN_SET);
        HAL_Delay(500);
        
        HAL_GPIO_WritePin(GPIOB,LED1_Pin,GPIO_PIN_RESET);
        HAL_GPIO_WritePin(GPIOB,LED2_Pin,GPIO_PIN_RESET);
        HAL_GPIO_WritePin(GPIOB,LED3_Pin,GPIO_PIN_RESET);
        HAL_Delay(500);

在案bulit

image

 

之後開啟protues 

把剛才的程式帶入,在拉一些LED 應該就能看到LED在閃爍了。

image

 

 

注意IC的時脈要選擇8M ,在Cube是設定8M

image

 

結論: GPIO的設定算簡單,也許cube和自己手打差不多時間,但是專案不會是只有GPIO要設定而已

通常還會有timer pwm uart 中斷  ....一大堆

Cube弄熟對你開發絕對有不少幫助。

 

 

 

arrow
arrow

    小影 發表在 痞客邦 留言(0) 人氣()