提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔
前言
最近教研室的項(xiàng)目需要使用STM32做處理器,對(duì)環(huán)境數(shù)據(jù)進(jìn)行采集處理,在拿到板子后,需要根據(jù)單片機(jī)具體型號(hào)(STM32F411CEU6)創(chuàng)建工程,再進(jìn)行上層應(yīng)用的開發(fā)。因?yàn)橐郧岸际怯玫腇1系列的開發(fā)板,用的時(shí)候直接在官方例程上進(jìn)行修改就可以,這次使用全新的芯片,需要自己使用STM32CubeMX進(jìn)行底層硬件的配置。
一、STM32CubeMX是什么?
STM32CubeMX是一款十分簡(jiǎn)潔易用的圖形化MCU開發(fā)工具,通過在該軟件上選擇處理器型號(hào),并進(jìn)行相關(guān)硬件接口的配置,可以輕松的生成對(duì)應(yīng)的初始化代碼。
二、使用步驟
1.新建工程
點(diǎn)擊file,選擇New Project :
2.選擇芯片型號(hào)
在左上角輸入芯片型號(hào),在右下出現(xiàn)的結(jié)果中,點(diǎn)擊具體型號(hào):
這樣,工程算是創(chuàng)建成功了,進(jìn)入mcu硬件資源配置的界面,分別由四大部分組成:
1.Pinout & Configuration:主要是IO功能設(shè)置,串口,硬件SPI,IIC等外設(shè)資源的配置。
2.Clock Configuration:時(shí)鐘配置。
3.Project Manager:主要是設(shè)置生成代碼的ide,代碼管理等,在第5小節(jié)詳細(xì)介紹。
4.Tools:可以查看mcu的相關(guān)參數(shù),引腳圖等。
3.時(shí)鐘配置
總所周知,時(shí)鐘是mcu的心跳,只有正確配置好時(shí)鐘,程序才可以正常運(yùn)行。
如果使用外部時(shí)鐘源的話,需要先在引腳配置中設(shè)置好RCC。
在高速外部時(shí)鐘中,選擇晶振,可以看到右圖中對(duì)應(yīng)引腳變綠,說明配置成功
在輸入頻率處,輸入使用的晶振頻率,可以直接在MCU工作頻率處輸入想要的主頻,軟件會(huì)自動(dòng)在倍頻設(shè)置處生成相應(yīng)參數(shù),最后在分頻設(shè)置中選擇自己想要的外設(shè)頻率即可。
4.外設(shè)配置
外設(shè)配置可以分別以字母A-Z與種類的差別排序顯示:
因?yàn)槲沂褂玫陌遄又饕遣杉瘋鞲衅鲾?shù)據(jù),并通過串口進(jìn)行發(fā)送,傳感器通信使用的是硬件IIC,因此只需要初始化對(duì)應(yīng)的IIC接口與串口即可。
iic初始化:在I2C1中選擇工作模式為I2C,可以看到對(duì)應(yīng)引腳變綠,配置成功
SMBus-Alert-mode與SMBus-two-wire-Interface是SMBUS協(xié)議的兩種工作模式
串口初始化:
我們使用串口對(duì)數(shù)據(jù)進(jìn)行發(fā)送,并對(duì)上位機(jī)發(fā)送的指令進(jìn)行解析,因此選用異步收發(fā)模式即可,其他選項(xiàng)解釋如下:
Asynchronous:異步收發(fā)
Single Wire (Half-Duplex):?jiǎn)尉€半雙工,針對(duì)某些三線制串口(只有一根信號(hào)線),信號(hào)端需要來回切換輸入輸出模式。
Multiprocessor Communication:多處理器通信。
lrDA、LIN、SmartCard:局域互連網(wǎng)絡(luò)LIN、智能卡(SmartCard)協(xié)議、lrDA(紅外線數(shù)據(jù)協(xié)會(huì)) SIR ENDEC規(guī)范。
5.項(xiàng)目管理
STM32CubeMX可以根據(jù)你使用的IDE,生成對(duì)應(yīng)的工程甚至makefile(注意路徑不要有中文)。后續(xù)如果你需要更換開發(fā)環(huán)境,也不用重頭配置工程,在STM32CubeMX工程,重新選擇ide進(jìn)行生成,就會(huì)在原來的位置,生成新的ide打開方式。
選擇生成代碼要求,點(diǎn)擊 generate code,便可以在指定位置生成項(xiàng)目工程,
在AdvancedSettings 中選擇使用的外設(shè),可以選擇使用HAL庫或者LL庫進(jìn)行初始化或其他操作。
可以看到生成的代碼已經(jīng)對(duì)外設(shè)進(jìn)行了配置,我們只需要進(jìn)行下一步的應(yīng)用開發(fā)即可。文章來源:http://www.zghlxwxcb.cn/news/detail-417349.html
總結(jié)
STM32CubeMX使用起來還是比較方便的,可以快速幫助我們對(duì)陌生的處理器建立底層工程,對(duì)于不常進(jìn)行底層開發(fā)的同學(xué)相當(dāng)友好。需要注意的是,STM32CubeMX只可以使用HAL庫和LL庫,暫不支持標(biāo)準(zhǔn)庫代碼生成。文章來源地址http://www.zghlxwxcb.cn/news/detail-417349.html
到了這里,關(guān)于使用STM32CubeMX創(chuàng)建STM32工程(串口,硬件IIC配置)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!