今天利用STM32Cube和Protues來完LED閃爍實驗。
STM32Cube是能簡單創建底層設定的好工具。
以往有自己手key底層設定過的人都知道,要自己設定是相當麻煩的一件事,
個人認為這種工具一定要熟悉,千萬不要輕視這種快速開發的工具(有些人會輕視這種工具,甚至看不起),這裡說個題外話,如果你是老闆, 請了兩個工程師同時進行專案
工程師A利用STM32Cube快速建立底層設定,只花幾個小時就完成,工程師B則是K手冊、Datasheet自己手key-in,花了幾天時間
工程師B的功力既使比工程師A還厲害(畢竟完全自己打的),但是如果換個角度.在老闆眼中工程師A只花幾個小時就完成,你認為老闆覺得誰厲害??
因為老闆不懂技術細節,所以通常只著重在成效。而最能體現成效的就是花費的時間。
安裝Cube後(安裝應該不難),
新增專案 選擇型號'STM32F103C6' Start project
在PB14、 PB13 、PB12 選擇GPIO_Output
在System core選擇 GPIO
並且在user label分別打上LED1 、LED2 、LED3
之後再Project_manager
打入poject name
toochin/ide 選擇用MDK-ARM
之後可以再右上角 generate code了
之後可以直接開啟專案
可以開啟keil c 已經幫你GPIO設定都設好了
接著直接在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
之後開啟protues
把剛才的程式帶入,在拉一些LED 應該就能看到LED在閃爍了。
注意IC的時脈要選擇8M ,在Cube是設定8M
結論: GPIO的設定算簡單,也許cube和自己手打差不多時間,但是專案不會是只有GPIO要設定而已
通常還會有timer pwm uart 中斷 ....一大堆
Cube弄熟對你開發絕對有不少幫助。