• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32CubeMX圖形化編程教學改革的研究

      2021-06-17 08:19:54龍祖連
      電子制作 2021年10期
      關(guān)鍵詞:函數(shù)庫圖形化寄存器

      龍祖連

      (廣西水利電力職業(yè)技術(shù)學院,廣西南寧,530023)

      0 前言

      在電子信息專業(yè)人才培養(yǎng)方案中提到,學生通過專業(yè)學習后,具備電子信息產(chǎn)品研發(fā)、生產(chǎn)管理、售后服務(wù)等崗位能力。STM32課程作為電子信息專業(yè)的一門專業(yè)核心課,學生掌握STM32編程的程度,決定學生以后就業(yè)的崗位的情況;在高職中如何能讓學生學習好STM32編程成為老師的一個難題。傳統(tǒng)的STM32實驗教學編程都是使用寄存器編程或是函數(shù)庫編程的,這兩種實驗編程的方法對我們高職的學生來說都是很難學和理解的,首先寄存器的編程方法比較熟悉STM32單片機的寄存器,而單片機的型號不一樣,寄存器的類型也不一樣,這樣一來學生就得去記很多的寄存器;其次庫函數(shù)的編程方法,雖然ST公司做有很多的標準函數(shù)庫,但去查找也是很難的,同時不同的公司也會做自己的函數(shù)庫,這樣學生在使用的時候很難分清函數(shù)庫的調(diào)用情況。那有沒有有一種能讓我們高職的學生容易上手、容易理解的方法去學生STM32單片機呢?這就是本文將要闡述的STM32CubeMX圖形化編程。

      1 STM32CubeMX簡介

      STM32CubeMX 是ST 意法半導體近幾年來大力推薦的STM32 芯片圖形化配置工具[5],直接由圖形界面簡單配置下,生成初始化代碼,并對外設(shè)做了進一步的抽象,讓開發(fā)人員更只專注應用的開發(fā),可以大大減輕開發(fā)工作時間和費用,提高開發(fā)效率[1]。STM32CubeMX幾乎覆蓋了STM32全系列芯片。在CubeMX上,通過傻瓜化的操作便能實現(xiàn)相關(guān)配置,最終能夠生成C語言代碼,支持多種工具鏈,比如MDK、IAR For ARM、TrueStudio等,省去了我們配置各種外設(shè)的時間,大大的節(jié)省了時間。

      2 STM32單片機寄存器和庫函數(shù)編程

      在當前高校的電子類的專業(yè)高級的單片機編程基本上都是使用STM32單片機,因為它是32位的單片機,在做系統(tǒng)或產(chǎn)品上它具有工作效率高、運行速度快、成本低等特點,都得到廣大師生的使用[3]。而目前多數(shù)的高校對STM32單片機的教學基本上使用寄存器編程教學或庫函數(shù)編程教學。

      ■2.1 STM32庫函數(shù)與寄存器開發(fā)流程

      進行具體的項目開發(fā)前,做好項目創(chuàng)建工作,通常包括如下步驟:

      (1)新建工程項目的文件夾和子文件夾(如user、output、listing等);

      (2)使用MDK新建(或打開項目),選擇目標CPU、添加CMSIS核心、STM32啟動代碼和外設(shè)驅(qū)動程序,構(gòu)成運行環(huán)境;

      (3)添加包含main()函數(shù)的主程序文件;

      (4)配置目標選項。

      ■2.2 以閃爍的LED為例采用庫函數(shù)編程和寄存器編程的對比

      (1)函數(shù)庫編寫閃爍LED部分函數(shù),如圖1所示。

      圖1 函數(shù)庫編寫閃爍LED部分函數(shù)

      (2)寄存器編寫閃爍LED部分函數(shù),如圖2所示。

      圖2 寄存器編寫閃爍LED部分函數(shù)

      STM32庫函數(shù)本質(zhì)上是對外設(shè)寄存器直接編程,只是為了方便應用封裝成了函數(shù)。所以用戶的應用程序也可以繞過庫函數(shù),直接對寄存器編程。直接對寄存器編程的代碼效率最高。不過,需要花費較多的時間學習和查閱STM32數(shù)據(jù)手冊,這個過程繁瑣、易錯,難以移植。

      3 STM32CubeMX圖形化編程

      ■3.1 使用STM32CubeMX開發(fā)流程

      使用STM32CUberMX開發(fā)流程如下:

      (1)在STM32CubeMX中直觀的配置MCU;

      (2)生成開發(fā)工程;

      (3)編寫功能代碼;

      (4)配置目標選項。

      ■3.2 使用STM32CubeMX圖形化編程實現(xiàn)閃爍的LED

      (1)打開STM32CubeMX軟件,選擇ACCESS TO MCU SELECTOR新建工程,如圖3所示。

      圖3 STM32CubeMX軟件界面

      (2)選擇開發(fā)板的芯片及芯片的封裝類型,如圖4所示。

      圖4 軟件界面芯片選擇

      (3)選擇Pinout&Configuration菜單,點擊Categorier/System Core/SYS,在Mode下面對應的選擇,完成之后在右邊的芯片就出現(xiàn)對應的標識,如圖5所示。

      圖5 SYS配置選項

      (4)配置時鐘選項,如圖6所示。

      (5)配置芯片引腳輸入/輸出及其他特性(及LED2的連接引腳),如圖7所示。

      圖6 時鐘選項

      圖7 芯片引腳配置

      (6)點擊Clock Configuration(時鐘源配置選項),對時鐘源進行配置,如圖8所示。

      圖8 時鐘源配置

      (7)點擊Projiect Manager(工程管理)進行配置,首先在界面選擇Project選項,如圖9所示。

      圖9 工程管理配置

      其次,點擊Code Generator(代碼生成器)進一步配置(重點),如圖10所示。

      圖10 代碼生成器配置

      (8)點擊GENERATE CODE創(chuàng)建工程,如圖11所示。

      圖11 代碼生成界面

      (9)點擊Open Projiect(打開工程),就自動的關(guān)聯(lián)打開MDK-ARM V5軟件并創(chuàng)建工程保存在文件夾里,如圖12所示。

      圖12 打開工程文件

      (10)在MDK-ARM軟件里面找到main.c文件中主函數(shù)里的while循環(huán)語句添加兩句語句就可以實現(xiàn)閃爍的LED了,如圖13所示。

      圖13 代碼修改界面

      注意:所有自己編寫的代碼請放在/* USER CODE BEGIN XXX */ /* USER CODE END XXX */ 之間,這樣我們修改工程的時候你自己寫的代碼就不會被刪除。

      4 總結(jié)

      本文以STM32單片機控制閃爍的LED實驗為例,分別以寄存器、庫函數(shù)和STM32CubeMX 三種編程開發(fā)模式去實現(xiàn)閃爍的LED控制。從編程過程我們發(fā)現(xiàn)寄存器和庫函數(shù)編程中都需要導入很多都文件,特別是IO口的初始化和時鐘的配置都是需要花費很多的時間去理解;而使用STM32CubeMX圖形化編程,我們只需要簡單的圖形化配置就可以完成代碼的生成及實現(xiàn)。通過多年的教學實驗,對三種STM32編程特點進行了總結(jié)和對比,如表1所示。

      表1 三種編程特點對比表

      總之,在實踐教學中,我們使用STM32CubeMX圖形化編程開發(fā)做設(shè)計,簡單、易懂,學生的接受情況也比較好,相對之前的寄存器和庫函數(shù)編程教學,取得了良好的效果。使用STM32CubeMX圖形化進行配置,及使用HAL庫進行開發(fā),這樣極大的縮短了新建工程的時間,而且時鐘配置和中斷配置都更加簡單方便,更適合我們高職學生的學習。

      猜你喜歡
      函數(shù)庫圖形化寄存器
      用于優(yōu)化雷達信號處理的VSIPL函數(shù)庫
      基于Python的開源GIS應用開發(fā)
      Scratch求最值和平均值
      電腦報(2020年34期)2020-09-12 14:03:42
      Lite寄存器模型的設(shè)計與實現(xiàn)
      計算機應用(2020年5期)2020-06-07 07:06:44
      基于BB60C的IQ數(shù)據(jù)采集與存儲系統(tǒng)設(shè)計
      LKJ自動化測試系統(tǒng)圖形化技術(shù)研究
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      運用圖形化聽寫式復習,構(gòu)建高效地理課堂
      地理教學(2015年18期)2016-01-06 12:00:40
      圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應用
      圖形化儀表控制系統(tǒng)上位機軟件的設(shè)計與開發(fā)
      东海县| 溧水县| 台南县| 陇西县| 文水县| 台中县| 太仆寺旗| 汕头市| 北碚区| 峨眉山市| 赫章县| 元谋县| 当雄县| 绿春县| 中西区| 额敏县| 永平县| 桐乡市| 鄂托克旗| 军事| 元谋县| 安国市| 鹤岗市| 宜城市| 社旗县| 江永县| 长治县| 通辽市| 兴和县| 眉山市| 宁波市| 南郑县| 茌平县| 鱼台县| 章丘市| 海兴县| 商河县| 利辛县| 鲁甸县| 故城县| 平和县|