STM32開放式開發(fā)環(huán)境:釋放創(chuàng)造力

市場上涌現(xiàn)各種價格親民的經(jīng)濟型微控制器,助力新一代開發(fā)者創(chuàng)造令人興奮的新型嵌入式應(yīng)用缺虐。如今的開發(fā)工具非常好用割坠,軟硬件均呈現(xiàn)模塊化趨勢,插接安裝簡單容易肖卧,使得產(chǎn)品設(shè)計評估和原型開發(fā)周期大幅縮短蚯窥。STM32開放式開發(fā)環(huán)境是業(yè)內(nèi)獨一無二的軟硬件開發(fā)平臺,堆疊式插接電路板集成各種模塊化硬件塞帐,同時模塊化軟件覆蓋從驅(qū)動程序到應(yīng)用層的全部軟件拦赠,幫助設(shè)計人員將創(chuàng)意快速變成產(chǎn)品原型,順利轉(zhuǎn)化成最終設(shè)計葵姥。

STM32開放式開發(fā)環(huán)境是什么荷鼠?

STM32開放式開發(fā)環(huán)境 是意法半導(dǎo)體開發(fā)的嵌入式系統(tǒng)原型設(shè)計開發(fā)環(huán)境,以簡化嵌入式項目設(shè)計為目標榔幸,通過開源形式提供全部重要功能模塊允乐,組件包括:

-價格極低的STM32 Nucleo開發(fā)板(STM32微控制器)和STM32 Nucleo擴展板(傳感器、通信接口削咆、電機控制和致動功能)牍疏,提供基于尖端商用產(chǎn)品的各種硬件功能。

-基于STM32Cube軟件工具的STM32微控制器軟件庫和簡單好用的軟件庫配置器(STM32CubeMX )拨齐。

-STM32Cube擴展軟件庫鳞陨,支持STM32 Nucleo擴展板上各種器件,包括電機驅(qū)動器瞻惋、低能耗藍牙模塊厦滤、MEMS傳感器等援岩。

-功能包:一套利用STM32 Nucleo開發(fā)板和STM32Cube軟件為一些最常用用例開發(fā)的功能性例程(代碼示例)。

-每個軟硬件功能模塊都配備描述詳盡的技術(shù)文檔掏导。

-活躍的快速發(fā)展的在線開發(fā)社區(qū)

STM32 Nucleo開發(fā)板

STM32 Nucleo開發(fā)板是STM32開發(fā)環(huán)境的基礎(chǔ)組件享怀,板載一顆基于ARM? Cortex?-M 32位處理器內(nèi)核的STM32微控制器。STM32開放式開發(fā)環(huán)境所用的STM32 Nucleo開發(fā)板是64引腳版(圖1)微控制器趟咆。目前STM32 F4和STM32 L0微控制器兼容所有的STM32 Nucleo擴展板和擴展軟件添瓷。

開發(fā)環(huán)境使用基于STM32Cube HAL(硬件抽象層) API的STM32Cube軟件庫,大幅降低了在不同系列的STM32產(chǎn)品(目前有20余款STM32 Nucleo開發(fā)板)中移植軟件項目所需的編程工作量忍啸。

STM32 Nucleo-64開發(fā)板硬件具有以下特性:

-采用LQFP-64封裝的STM32微控制器

-通過38引腳的Morpho連接器可以使用STM32的所有引腳

-四個Arduino連接器(位置非對稱排列仰坦,引導(dǎo)用戶正確插接Arduino兼容擴展板)

-集成ST-LINK/V2-1調(diào)試器/代碼燒錄器和mini USB端口,無需安裝額外的調(diào)試工具计雌,板子可直連PC機悄晃,進行調(diào)試和燒寫代碼操作。此外凿滤,USB接口支持虛擬COM端口和大容量存儲接口(兼容ARM mbed)

-2個按鍵(微控制器復(fù)位信號和開發(fā)者專用按鍵)

-3支LED燈(5V電源妈橄、開發(fā)者專用、ST-Link調(diào)試器狀態(tài))

用戶可以為板子選用不同的電源:

-5V USB供電

-5V外部電源

-外部電源VIN (7-12V)

STM32 Nucleo開發(fā)板上的5V電源還用于驅(qū)動通過Arduino或morpho連接器連接主板的擴展板翁脆,同時通過板載穩(wěn)壓器為STM32提供3.3V 電源眷蚓。

STM32 Nucleo開發(fā)板功能性極強,板載代碼燒寫/調(diào)試工具非常實用反番,設(shè)計人員可以立即動手開發(fā)項目沙热,而無需添置昂貴的開發(fā)工具。

基于STM32Cube的嵌入式軟件和工具

在選中了最適合自己的STM32 Nucleo開發(fā)板后罢缸,下一步是下載相關(guān)的軟件庫篙贸,熟悉STM32技術(shù)特性和外設(shè)。最快捷的入門方式是下載軟件庫配置器STM32CubeMX (www.st.com/stm32cubemx)枫疆。在這個工具的圖形用戶界面內(nèi)爵川,用戶只要直接選擇正在使用的STM32 Nucleo開發(fā)板(圖2),配置器就會按照板子所連接的硬件設(shè)備(例如LED息楔、按鍵寝贡、UART引腳分配)自動配置STM32外設(shè)。

下一步值依,可能需要詳細配置每個外設(shè)圃泡,例如,設(shè)置UART同步/異步通信模式愿险、波特率颇蜡、寄偶校驗和停止位。

最后,STM32CubeMX將生成代碼澡匪,創(chuàng)建一個完整軟件項目,且兼容所用代碼編譯工具鏈(例如IAR褒链、Keil或Eclipse)唁情,同時配置先前在圖形用戶界面內(nèi)所選的全部硬件和外設(shè),并兼容所用代碼調(diào)試/燒錄工具甫匹。

這個圖形用戶界面工具讓你從零開始創(chuàng)建項目甸鸟,幾分鐘完成項目所需的全部配置,然后立即動手創(chuàng)建自己的軟件項目兵迅,直接在main.c文件里寫代碼

所生成的代碼位于STM32Cube嵌入式軟件之上抢韭,STM32Cube有兩個主層:

-硬件抽象層:準許上面的軟件層(例如,中間件層)執(zhí)行各自的功能恍箭,而無需開發(fā)人員深入了解如何使用微控制器

-中間件:一整套中間件組件(RTOS, USB, TCP/IP, …)

軟件設(shè)計采用模塊化方法刻恭,用戶在項目開發(fā)過程中可以隨時添加軟件模塊,輕松地跨系列移植全部項目扯夭。

STM32 Nucleo擴展板

為連接STM32 Nucleo擴展板鳍贾,STM32 Nucleo-64開發(fā)板配備兩種連接器:

-兼容Arduino標準的Arduino連接器(微控制器的32個引腳都在這個連接器上)。

-Morpho 連接器交洗,可以連接STM32微控制器的全部引腳(76個引腳都在這個連接器上)骑科。

STM32 Nucleo擴展板讓設(shè)計人員像搭積木一樣,在主板上插接多塊不同功能的子板构拳,創(chuàng)建一個完整的應(yīng)用系統(tǒng)咆爽。目前意法半導(dǎo)體網(wǎng)站 上有20余款擴展板(圖4)在售,按功能劃分置森,可以分為五類:

-感測:MEMS 9軸運動傳感器; 壓力傳感器斗埂,環(huán)境傳感器,接近檢測傳感器; MEMS麥克風

-連接: 低能耗藍牙暇藏、Wi-Fi蜜笤、NFC和Sub-GHz射頻;

-電機控制/致動: 直流電機驅(qū)動器、步進電機驅(qū)動器盐碱、3相直流無刷電機驅(qū)動器

-輸入/輸出: I/O模塊(家庭自動化和工業(yè)自動化)

-信號調(diào)理: 運算放大器

STM32 Nucleo板功能擴展方法類似于Arduino和Raspberry Pi解決方案把兔,便于設(shè)計人員快捷開發(fā)產(chǎn)品原型。利用這些連接工具瓮顽,可以將擴展板堆疊插接在主板上县好,給系統(tǒng)增添新的功能,唯一不足之處是暖混,堆疊式連接方法受限于微控制器外設(shè)的使用方式缕贡,這個問題的解決方法是,使用I2C和SPI總線替代UART等速度慢的數(shù)據(jù)總線,這樣可提高同一總線上所連接設(shè)備的數(shù)量晾咪。此外收擦,Arduino連接器不對稱排列設(shè)計可有效防止STM32 Nucleo擴展板連接方向錯誤,降低電源連接錯誤損壞設(shè)備的風險谍倦。擴展板使用STM32 Nucleo開發(fā)板上LDO穩(wěn)壓器通過板上5V電源生成的3.3V電源塞赂,用戶可以使用跳線(JP5)為開發(fā)板選擇USB 5V電源或外部E5V電源。有些擴展板需要更高的電壓昼蛀,例如宴猾,電機驅(qū)動器和I/O擴展板,因此叼旋,開發(fā)板上還增加一個電源連接器仇哆,利用外部電源驅(qū)動負載,提供更高的電壓Vbus(最高45V)夫植。

為安全起見讹剔,多數(shù)擴展板是為低功率應(yīng)用設(shè)計,50V以下電壓在電源極性接反或短路時可以降低板子燒毀風險详民,所以適合初學者和學生使用辟拷。

這些低功耗的擴展板還可以單獨連接高壓高功率的電機控制擴展板,但是阐斜,我們只建議電機控制專業(yè)人士選用這種配置衫冻。為了便于區(qū)分,我們將高功率STM32 Nucleo擴展板涂成綠色谒出,其余的擴展板全都是藍色隅俘。高功率電機控制擴展板兼?zhèn)涓邏焊吖β蕯U展板和低壓擴展板的雙重優(yōu)點,在電機控制應(yīng)用中輕松增加數(shù)據(jù)通信功能笤喳,例如为居,使用射頻技術(shù)遠程驅(qū)動高壓電機或使用低能耗藍牙或Wi-Fi獲取電機驅(qū)動信息和遠程記錄失敗數(shù)據(jù)。

STM32Cube擴展軟件

STM32 Nucleo擴展板可以像搭積木一樣插接到開發(fā)板上杀狡,幾分鐘就能組建一個硬件平臺蒙畴。不過,軟件才是設(shè)計項目中最耗時的環(huán)節(jié)呜象,通常占用研發(fā)周期70-80%的時間膳凝。STM32Cube將積木式組裝方法帶到軟件設(shè)計中。軟硬件一致是STM32開放式開發(fā)環(huán)境的特性之一恭陡,因此蹬音,每個STM32Cube擴展軟件包都為用戶提供例程,其中包含各種軟件庫休玩,例如著淆,電機控制劫狠、低能耗藍牙協(xié)議棧或NFC射頻處理功能永部,全部都是開源軟件独泞。

STM32Cube擴展軟件包附加的例程非常實用,能夠幫助設(shè)計人員快速熟悉設(shè)備軟件庫苔埋。以下面的步進電機驅(qū)動軟件演示項目為例阐肤,用戶可將其中所需功能復(fù)制到自己的軟件項目:

//----- Init of the Motor control library

/* Start the L6474 library to use 1 device */

/* The L6474 registers are set with the predefined values */

/* from file l6474_target_config.h*/

BSP_MotorControl_Init(BSP_MOTOR_CONTROL_BOARD_ID_L6474, 1);

/* Attach the function MyFlagInterruptHandler (defined below) to the flag interrupt */

BSP_MotorControl_AttachFlagInterrupt(MyFlagInterruptHandler);

/* Attach the function Error_Handler (defined below) to the error Handler*/

BSP_MotorControl_AttachErrorHandler(Error_Handler);

//----- Move of 16000 steps in the FW direction

/* Move device 0 of 16000 steps in the FORWARD direction*/

BSP_MotorControl_Move(0, FORWARD, 16000);

/* Wait for the motor of device 0 ends moving */

BSP_MotorControl_WaitWhileActive(0);

/* Wait for 2 seconds */

HAL_Delay(2000);

//----- Move of 16000 steps in the BW direction

/* Move device 0 of 16000 steps in the BACKWARD direction*/

BSP_MotorControl_Move(0, BACKWARD, 16000);

/* Wait for the motor of device 0 ends moving */

BSP_MotorControl_WaitWhileActive(0);

因為基于STM32Cube的軟件庫的模塊化結(jié)構(gòu),每個擴展板軟件模塊都可以作為中間件添加到用戶項目讲坎,添加操作可以在項目開發(fā)過程中隨時進行,也可以添加到已經(jīng)存在的復(fù)雜項目內(nèi)愧薛。

除STM32開放式開發(fā)環(huán)境外晨炕,還有功能包軟件項目和附加軟件庫

當需要不只一個功能模塊時,最快捷的方式是使用功能包軟件源代碼項目毫炉,因為這個軟件包將不同的STM32 Nucleo擴展板的軟件庫整合成一個立即可用的完整項目瓮栗。

例如,當STM32 Nucleo開發(fā)板連接NFC和低能耗藍牙(BLE)擴展板時瞄勾,可以下載功能軟件包费奸,進行BLE與NFC配對。

除STM32開放式開發(fā)環(huán)境外进陡,意法半導(dǎo)體還提供各種附加軟件庫(圖6)愿阐,讓開發(fā)者在其應(yīng)用項目內(nèi)能夠使用前幾年不易實現(xiàn)的先進功能,例如:傳感器數(shù)據(jù)整合趾疚、運動識別缨历、藍牙語音、聲學波束成形糙麦、聲音定位等辛孵,因為這些軟件庫使用非常專業(yè)的IP技術(shù),所以不提供完整的源代碼(STM32開放式開發(fā)環(huán)境軟件100%提供源代碼), 但是赡磅,用戶可以從意法半導(dǎo)體網(wǎng)站下載相關(guān)許可證魄缚,然后花費幾分鐘激活軟件,即可正常使用這些軟件焚廊。

同樣地冶匹,開放式功能包也有例程,例如咆瘟,在BLUE MICROSYSTEM 1演示應(yīng)用(圖7)中徙硅,STM32F4讀取MEMS加速度計/陀螺儀/磁強傳感器數(shù)據(jù)(RAW格式和傳感器數(shù)據(jù)整合算法輸出)、溫濕傳感器以及壓力傳感器的數(shù)據(jù)搞疗,通過低能耗藍牙協(xié)議將數(shù)據(jù)發(fā)送到智能手機上的應(yīng)用程序(圖8)嗓蘑。只要將所需的代碼段復(fù)制到自己的軟件項目內(nèi)须肆,就可以在不同的應(yīng)用中反復(fù)使用代碼。同一個演示應(yīng)用桩皿,假如軟件設(shè)計人員想要從零開始創(chuàng)建豌汇,則需要從查看每個設(shè)備數(shù)據(jù)手冊信息開始,開發(fā)和調(diào)試可能需要幾個月的時間泄隔。

STM32開放式開發(fā)環(huán)境功能包和Open.Framework實現(xiàn)示例可以在相應(yīng)的STM32 Nucleo擴展板網(wǎng)頁下載拒贱,而智能手機/平板電腦的圖形用戶界面應(yīng)用軟件的源代碼需要直接向意法半導(dǎo)體銷售代表和授權(quán)經(jīng)銷商索取。

應(yīng)用項目示例

當使用STM32 Nucleo擴展板的軟件項目示例或現(xiàn)有的開源功能包創(chuàng)建復(fù)雜的演示程序和系統(tǒng)時佛嬉,創(chuàng)建速度簡單快速逻澳。下面是一個玩具小汽車的演示示例,3D遙控器通過低能耗藍牙(圖9)控制小汽車運動暖呕⌒弊觯基本軟硬件模塊包括:

STM32 Nucleo玩具小汽車(硬件): NUCLEO-F401RE、X-NUCLEO-IHM02A1(雙步進電機驅(qū)動器),湾揽、X-NUCLEO-IDB04A1(低能耗藍牙)

STM32 Nucleo玩具小汽車(軟件):X-CUBE-SPN2 (步進電機驅(qū)動器軟件庫基礎(chǔ)例程)瓤逼、X-CUBE-BLE1 (BLE軟件庫基礎(chǔ)例程)

3D遙控器(硬件): NUCLEO-F401RE、X-NUCLEO-IKS01A1 (MEMS傳感器),X-NUCLEO-IDB04A1 (低能耗藍牙)

3D遙控器(軟件):BLUEMICROSYSTEM1(通過低能耗藍牙發(fā)送傳感器RAW數(shù)據(jù)和傳感器整合數(shù)據(jù)的功能包)

對于穿戴設(shè)備和物聯(lián)網(wǎng)硬件等應(yīng)用库物,評估板的外觀尺寸有時候是一個不小的問題霸旗。為了滿足物聯(lián)網(wǎng)硬件開發(fā)者的需求,意法半導(dǎo)體產(chǎn)品陣容開始增加尺寸極其緊湊的小演示板(圖10)戚揭,板上的元器件與STM32 Nucleo電路板完全相同诱告。這樣,在STM32開放式開發(fā)環(huán)境內(nèi)開發(fā)的軟件工程項目可以100%移植到這些小板子上民晒。

豈止STM32開放式開發(fā)環(huán)境蔬啡,還支持兼容STM32 Nucleo的Arduino電路板

STM32 Nucleo擴展板中還有板載Arduino連接器的Arduino Shield 電路板。因為硬件接口相互兼容镀虐,開發(fā)人員可以繼續(xù)使用以前開發(fā)的電路板和設(shè)備驅(qū)動軟件和固件庫箱蟆。在其它開源軟件工程社區(qū),有一些Arduino電路板配合STM32 Nucleo擴展板的直接可用的現(xiàn)成項目:圖11所示是一個典型的Adafruit TFT觸屏shield板與STM32 Nucleo擴展板相連的演示

示例, STM32CubeF4軟件包提供該軟件項目刮便。

釋放你的創(chuàng)造力

五年來空猜,軟硬件開發(fā)環(huán)境變化巨大提前,市場需要更短的研發(fā)周期粱坤,越來越多的傳統(tǒng)消費產(chǎn)品技術(shù)(例如:MEMS、 NFC乙埃、低能耗藍牙)被用于工業(yè)設(shè)備搜贤。從3D建模到PCB電路圖谆沃,更完備的工程項目出現(xiàn)在開源軟件工程社區(qū)(無人機、3D打印機仪芒、傳感器數(shù)據(jù)整合唁影、復(fù)雜的音頻功能和USB供電等)耕陷。

STM32開放式開發(fā)環(huán)境專注于讓開發(fā)者的生活更輕松,提供易于定制的基本的和復(fù)雜的軟硬件功能模塊据沈。在系統(tǒng)設(shè)計內(nèi)增加一個射頻模塊哟沫,用于遙控設(shè)備或傳送數(shù)據(jù),不再要求開發(fā)者有深厚的射頻專業(yè)背景锌介,只需將STM32 Nucleo擴展板連接到系統(tǒng)嗜诀,按照系統(tǒng)要求設(shè)置軟件項目,幾分鐘即可完成孔祸。

STM32開放式開發(fā)環(huán)境是業(yè)內(nèi)獨一無二的軟硬件開發(fā)平臺隆敢,整合基于尖端商用產(chǎn)品的各種擴展板,模塊化軟件覆蓋從驅(qū)動程序到應(yīng)用層的全部軟件崔慧,幫助設(shè)計人員將創(chuàng)意快速變成產(chǎn)品原型拂蝎,順利轉(zhuǎn)化成最終設(shè)計。

下面還是給大家分享一下一些stm32方面的資料

基于STM32講解串口操作

http://www.makeru.com.cn/live/1758_490.html?s=156461

分析STM32的的開發(fā)方式

http://www.makeru.com.cn/live/3523_1673.html?s=156461

STM32中斷系統(tǒng)

http://www.makeru.com.cn/live/3523_1745.html?s=156461

智能小車設(shè)計

http://www.makeru.com.cn/live/3905_1418.html?s=156461

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尊浪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子封救,更是在濱河造成了極大的恐慌拇涤,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件誉结,死亡現(xiàn)場離奇詭異鹅士,居然都是意外死亡,警方通過查閱死者的電腦和手機惩坑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門掉盅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人以舒,你說我怎么就攤上這事趾痘。” “怎么了蔓钟?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵永票,是天一觀的道長。 經(jīng)常有香客問我滥沫,道長侣集,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任兰绣,我火速辦了婚禮世分,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缀辩。我一直安慰自己臭埋,他們只是感情好踪央,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著斋泄,像睡著了一般杯瞻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炫掐,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天魁莉,我揣著相機與錄音,去河邊找鬼募胃。 笑死旗唁,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的痹束。 我是一名探鬼主播检疫,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祷嘶!你這毒婦竟也來了屎媳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤论巍,失蹤者是張志新(化名)和其女友劉穎烛谊,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘉汰,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡丹禀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鞋怀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片双泪。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖密似,靈堂內(nèi)的尸體忽然破棺而出焙矛,到底是詐尸還是另有隱情,我是刑警寧澤残腌,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布薄扁,位于F島的核電站,受9級特大地震影響废累,放射性物質(zhì)發(fā)生泄漏邓梅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一邑滨、第九天 我趴在偏房一處隱蔽的房頂上張望日缨。 院中可真熱鬧,春花似錦掖看、人聲如沸匣距。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毅待。三九已至尚卫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尸红,已是汗流浹背吱涉。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留外里,地道東北人怎爵。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像盅蝗,于是被迫代替她去往敵國和親鳖链。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359