久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2969|回復(fù): 1
收起左側(cè)

STM32單片機(jī)STM32CubeMX軟件開(kāi)發(fā)手冊(cè)

[復(fù)制鏈接]
ID:836680 發(fā)表于 2020-10-30 15:24 | 顯示全部樓層 |閱讀模式
本帖最后由 xuchaopan 于 2020-10-30 15:38 編輯

一、       介紹
STM32Fxx系列單片機(jī)在CubeMX軟件的加持下,大大的提高了開(kāi)發(fā)效率并縮短前期開(kāi)發(fā)時(shí)間。
CubeMX軟件支持意法半導(dǎo)體的所有32位單片機(jī),它可以幫助開(kāi)發(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),生成的文件可以用編譯軟件直接打開(kāi)并編譯。
CubeMX包含了STM單片機(jī)的HAL庫(kù),會(huì)根據(jù)開(kāi)發(fā)人員配置的功能自動(dòng)加載HAL庫(kù)文件。
二、       新建工程
1.    打開(kāi)軟件,并開(kāi)始工程及芯片選擇,如下圖
1.png
點(diǎn)擊第一個(gè)選項(xiàng),從MCU選擇開(kāi)始。
2.    選擇芯片,如下圖
2.png
在搜索框中輸入芯片型號(hào)后,在右下側(cè)會(huì)出現(xiàn)該型號(hào)包含的芯片及封裝,選擇自己使用的封裝后雙擊,則會(huì)進(jìn)入下面這個(gè)界面,此時(shí)就可以開(kāi)始配置芯片功能等參數(shù)了。
3.png
3.    芯片時(shí)鐘設(shè)置
我們首先對(duì)芯片的時(shí)鐘源進(jìn)行配置,如下圖
4.png
按照序號(hào)選項(xiàng),在③處選擇晶體振蕩器。然后按照下圖設(shè)置
5.png
按照序號(hào)順序進(jìn)行操作,在④處設(shè)置想要的系統(tǒng)時(shí)鐘頻率。
4.    工程保存,如下圖
6.png
按照序號(hào)順序操作,在②處輸入工程名,③處選擇工程保存的路徑,④處選擇要使用的編譯軟件及版本。然后如下圖配置選擇庫(kù)和生產(chǎn)文件屬性。
7.png
5.    生成工程
如下圖,點(diǎn)擊①后會(huì)彈出②處的進(jìn)度條,這時(shí)等待其完成即可。
8.png
完成后會(huì)彈出下圖的選項(xiàng),這時(shí)可以選擇直接打開(kāi)工程。
9.png
6.    開(kāi)始編寫(xiě)程序
10.png
如圖,這就是CubeMX生產(chǎn)的一個(gè)最基本的工程,main.c在User文件夾下,之后就可以在main函數(shù)下開(kāi)始編寫(xiě)程序,在添加程序時(shí),請(qǐng)需注意:如上圖的方框內(nèi)的備注,添加的代碼需要在BEGIN 之后 END之前,這樣在下次CubeMX再生成文件的時(shí)候就不會(huì)被刪除,否則CubeMX會(huì)將你寫(xiě)的代碼全部刪除,這樣就功虧一簣了。
三、       GPIO的使用
1.    配置一個(gè)輸出IO,這里用PA0作演示,如下圖
11.png
如圖,按序號(hào)順序選擇①處,我們回到pinout & configuration,在④處用電機(jī)PA0這個(gè)引腳后會(huì)彈出右邊的功能選項(xiàng)表,這里就能看出這個(gè)IO端口支持的功能,這里我們選擇Output(輸出功能)。然后可以對(duì)這個(gè)IO口直接配置。
12.png
上圖中①處選擇要設(shè)置的IO口,在下面有5個(gè)選項(xiàng),可以對(duì)其進(jìn)行配置,
在⑥處可以數(shù)額如IO的名稱,在生成后的main.h,就能找到這個(gè)名稱的IO口,之后對(duì)其進(jìn)行調(diào)用即可。
2.    程序編寫(xiě)
13.png
按上圖順序打開(kāi)main.h,在④處添加控制宏,之后在main函數(shù)下添加IO控制程序即可,如下圖
14.png
由①處可見(jiàn),CubeMX再生成工程后,會(huì)自動(dòng)添加GPIO初始化代碼,不用開(kāi)發(fā)人員自己再去做初始化,CubeMX會(huì)根據(jù)在軟件上的配置進(jìn)行代碼生成,
在②處添加控制代碼即可。
四、       定時(shí)器的使用
1.    設(shè)置一個(gè)定時(shí)器,定時(shí)時(shí)間為1ms,軟件上配置如下圖:
15.png
這里是啟用的Tim2作為定時(shí)器源,上圖按照順序進(jìn)行選項(xiàng)設(shè)置,
圖中第④處為設(shè)置定時(shí)器分頻系數(shù),第⑤處設(shè)置的是計(jì)數(shù)器周期,第⑥處啟用自動(dòng)重裝。
2.    然后在后面選項(xiàng)打開(kāi)定時(shí)器中斷,如下圖:
16.png
3.    程序編寫(xiě),在程序上打開(kāi)定時(shí),代碼(HAL_TIM_Base_Start(&htim2);)。然后在stm32f1xx_it.c里面找到定時(shí)器2的中斷服務(wù)器程序(TIM2_IRQHandler),在里面添加定時(shí)器中斷標(biāo)志即可。
五、       PWM的使用
1.    舉例配置一個(gè)頻率1kHz的PWM脈沖輸出信號(hào),如下圖:
17.png
按照上圖順序選擇,第③處為PWM輸出通道選擇,這里選擇后,在芯片IO圖中第④處可以看到就自動(dòng)生成了一個(gè)PWM-CH1端口。然后⑤、⑥處設(shè)置分頻系數(shù)、定時(shí)器值,⑦處設(shè)置裝填的初始值,其占空比就是⑥/⑦的數(shù)值,也就是二分之一。
2.    程序編寫(xiě):同樣使用庫(kù)函數(shù)(HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);)打開(kāi)定時(shí)器3的第1路PWM輸出;然后可以通過(guò)庫(kù)函數(shù)修改PWM占空比(__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, 500);)紅字就是PWM輸出占空比的比例值。
六、       SPI的使用
待補(bǔ)充
七、       I2C的使用
待補(bǔ)充
八、       UART的使用
待補(bǔ)充
九、       ADC的使用
待補(bǔ)充
十、       FreeRTOS的使用
待補(bǔ)充

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:703546 發(fā)表于 2020-11-4 22:52 | 顯示全部樓層
好文!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一级二级 | 国产精品一区av | 欧美a级成人淫片免费看 | 黄色大片免费在线观看 | 日日夜夜精品视频免费 | 国产高清一区二区三区 | 四虎影院www | 久久久久久久网 | 国产区在线 | 97超碰免费 | 在线日韩一区 | 国产永久视频 | 91免费版看片| 免费看黄色一级片 | 狠狠干网站 | 亚洲日本在线观看 | 羞羞网站在线观看 | 国产乱淫av片免费 | 精品亚洲一区二区三区四区五区 | 黄片毛片在线观看 | 成人免费黄色片 | 97人人插| 国产午夜三级 | 久久在线免费视频 | 手机在线看片1024 | 精东影业一区二区三区 | 黄色av大全| 天天干天天拍 | 久久机热 | www.黄视频| 97久久超碰| 看黄色大片| 欧美成人午夜 | 亚洲第一免费视频 | 玖玖精品在线 | 黄色大片在线播放 | 午夜影院在线观看视频 | 国产精品一级二级 | 自拍视频一区 | 夜夜嗨av一区二区三区 | www.成人网 |