欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: STM32單片機(jī)STM32CubeMX軟件開發(fā)手冊(cè) [打印本頁(yè)]

作者: xuchaopan    時(shí)間: 2020-10-30 15:24
標(biāo)題: STM32單片機(jī)STM32CubeMX軟件開發(fā)手冊(cè)
本帖最后由 xuchaopan 于 2020-10-30 15:38 編輯

一、       介紹
STM32Fxx系列單片機(jī)在CubeMX軟件的加持下,大大的提高了開發(fā)效率并縮短前期開發(fā)時(shí)間。
CubeMX軟件支持意法半導(dǎo)體的所有32位單片機(jī),它可以幫助開發(fā)人員新建項(xiàng)目、設(shè)置芯片時(shí)鐘、配置IO功能、定時(shí)器、設(shè)置諸如SPI/UART/I2C等等硬件端口,并且可對(duì)所有的基本參數(shù)進(jìn)行配置,并且CubeMX還可以生成FreeRTOS嵌入式系統(tǒng)。
CubeMX支持Keil、IAR等主流程序編譯環(huán)境的工程生產(chǎn),生成的文件可以用編譯軟件直接打開并編譯。
CubeMX包含了STM單片機(jī)的HAL庫(kù),會(huì)根據(jù)開發(fā)人員配置的功能自動(dòng)加載HAL庫(kù)文件。
二、       新建工程
1.    打開軟件,并開始工程及芯片選擇,如下圖

點(diǎn)擊第一個(gè)選項(xiàng),從MCU選擇開始。
2.    選擇芯片,如下圖

在搜索框中輸入芯片型號(hào)后,在右下側(cè)會(huì)出現(xiàn)該型號(hào)包含的芯片及封裝,選擇自己使用的封裝后雙擊,則會(huì)進(jìn)入下面這個(gè)界面,此時(shí)就可以開始配置芯片功能等參數(shù)了。

3.    芯片時(shí)鐘設(shè)置
我們首先對(duì)芯片的時(shí)鐘源進(jìn)行配置,如下圖

按照序號(hào)選項(xiàng),在③處選擇晶體振蕩器。然后按照下圖設(shè)置

按照序號(hào)順序進(jìn)行操作,在④處設(shè)置想要的系統(tǒng)時(shí)鐘頻率。
4.    工程保存,如下圖

按照序號(hào)順序操作,在②處輸入工程名,③處選擇工程保存的路徑,④處選擇要使用的編譯軟件及版本。然后如下圖配置選擇庫(kù)和生產(chǎn)文件屬性。

5.    生成工程
如下圖,點(diǎn)擊①后會(huì)彈出②處的進(jìn)度條,這時(shí)等待其完成即可。

完成后會(huì)彈出下圖的選項(xiàng),這時(shí)可以選擇直接打開工程。

6.    開始編寫程序

如圖,這就是CubeMX生產(chǎn)的一個(gè)最基本的工程,main.c在User文件夾下,之后就可以在main函數(shù)下開始編寫程序,在添加程序時(shí),請(qǐng)需注意:如上圖的方框內(nèi)的備注,添加的代碼需要在BEGIN 之后 END之前,這樣在下次CubeMX再生成文件的時(shí)候就不會(huì)被刪除,否則CubeMX會(huì)將你寫的代碼全部刪除,這樣就功虧一簣了。
三、       GPIO的使用
1.    配置一個(gè)輸出IO,這里用PA0作演示,如下圖

如圖,按序號(hào)順序選擇①處,我們回到pinout & configuration,在④處用電機(jī)PA0這個(gè)引腳后會(huì)彈出右邊的功能選項(xiàng)表,這里就能看出這個(gè)IO端口支持的功能,這里我們選擇Output(輸出功能)。然后可以對(duì)這個(gè)IO口直接配置。

上圖中①處選擇要設(shè)置的IO口,在下面有5個(gè)選項(xiàng),可以對(duì)其進(jìn)行配置,
在⑥處可以數(shù)額如IO的名稱,在生成后的main.h,就能找到這個(gè)名稱的IO口,之后對(duì)其進(jìn)行調(diào)用即可。
2.    程序編寫

按上圖順序打開main.h,在④處添加控制宏,之后在main函數(shù)下添加IO控制程序即可,如下圖

由①處可見,CubeMX再生成工程后,會(huì)自動(dòng)添加GPIO初始化代碼,不用開發(fā)人員自己再去做初始化,CubeMX會(huì)根據(jù)在軟件上的配置進(jìn)行代碼生成,
在②處添加控制代碼即可。
四、       定時(shí)器的使用
1.    設(shè)置一個(gè)定時(shí)器,定時(shí)時(shí)間為1ms,軟件上配置如下圖:

這里是啟用的Tim2作為定時(shí)器源,上圖按照順序進(jìn)行選項(xiàng)設(shè)置,
圖中第④處為設(shè)置定時(shí)器分頻系數(shù),第⑤處設(shè)置的是計(jì)數(shù)器周期,第⑥處啟用自動(dòng)重裝。
2.    然后在后面選項(xiàng)打開定時(shí)器中斷,如下圖:

3.    程序編寫,在程序上打開定時(shí),代碼(HAL_TIM_Base_Start(&htim2);)。然后在stm32f1xx_it.c里面找到定時(shí)器2的中斷服務(wù)器程序(TIM2_IRQHandler),在里面添加定時(shí)器中斷標(biāo)志即可。
五、       PWM的使用
1.    舉例配置一個(gè)頻率1kHz的PWM脈沖輸出信號(hào),如下圖:

按照上圖順序選擇,第③處為PWM輸出通道選擇,這里選擇后,在芯片IO圖中第④處可以看到就自動(dòng)生成了一個(gè)PWM-CH1端口。然后⑤、⑥處設(shè)置分頻系數(shù)、定時(shí)器值,⑦處設(shè)置裝填的初始值,其占空比就是⑥/⑦的數(shù)值,也就是二分之一。
2.    程序編寫:同樣使用庫(kù)函數(shù)(HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);)打開定時(shí)器3的第1路PWM輸出;然后可以通過庫(kù)函數(shù)修改PWM占空比(__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, 500);)紅字就是PWM輸出占空比的比例值。
六、       SPI的使用
待補(bǔ)充
七、       I2C的使用
待補(bǔ)充
八、       UART的使用
待補(bǔ)充
九、       ADC的使用
待補(bǔ)充
十、       FreeRTOS的使用
待補(bǔ)充

作者: lht5631080    時(shí)間: 2020-11-4 22:52
好文!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1