999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32CubeMX的單片機最小系統(tǒng)設(shè)計

2018-10-31 10:49:24楊曉艷陳亮
數(shù)字技術(shù)與應用 2018年6期

楊曉艷 陳亮

摘要:STM32CubeMX是意法半導體推出的面向STM全系列單片機系統(tǒng)開發(fā)的輔助工具軟件,可以極大地降低開發(fā)的工作量、時間和成本。本文以意法半導體發(fā)布的STM32F746VET6芯片最小系統(tǒng)開發(fā)案例為例,介紹STM32CubeMX工具軟件的使用流程。

關(guān)鍵詞:STM32CubeMX;STM32系列單片機;最小系統(tǒng)設(shè)計

中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2018)06-0149-02

隨著集成電路技術(shù)的高速發(fā)展,32位單片機(MCU)逐漸成為嵌入式系統(tǒng)設(shè)計的主流選擇。相對于8位MCU而言,32位MCU性能更強、功能更豐富、管腳更多,一定程度上增加了系統(tǒng)硬、軟件設(shè)計的難度。STM32CubeMX工具軟件為STM32系列單片機的開發(fā)工作帶來了極大的幫助,提升了工作效率。

1 STM32CubeMX簡介

STM32CubeMX具有圖形化操作界面,能方便地進行管腳的功能定義,時鐘樹、外設(shè)參數(shù)和中間件的配置,可自動生成適合于多種集成開發(fā)環(huán)境(IAR EWARM、Keil MDK或基于GCC的IDE)工程項目的初始化C代碼,便于用戶在此基礎(chǔ)上進行深層次開發(fā)。

與STM32CubeMX工具軟件配套的STM32Cube庫主要包括兩大類:①HAL硬件抽象層:通過HAL可以通過標準API調(diào)用實現(xiàn)STM32系列單片機的程序互相移植。②中間件組件:包括RTOS、USB庫、文件系統(tǒng)、TCP/IP棧、觸摸感應庫或圖形庫等,同時具備大量的樣例和演示代碼,可幫助用戶實現(xiàn)快速開發(fā)。

2 芯片管腳的功能定義

STM32F746VET6單片機最小系統(tǒng)設(shè)計主要涉及電源、復位、時鐘等基本功能設(shè)計,串口模塊用于說明外設(shè)參數(shù)的設(shè)置方法。在STM32CubeMX軟件中根據(jù)目標芯片建立項目文件后,“Pinout(管腳配置)”界面將會顯示芯片的封裝圖形。芯片的電源、數(shù)字/模擬地、復位等固定功能管腳直接顯示功能名稱,以黃色或暗黃色標注,用戶不能更改其定義;通用I/O管腳在未定義具體功能之前,顯示默認名稱,以灰色標注。在“Peripherals(外圍設(shè)備)”目錄下,軟件以模塊的功能進行分類顯示,用戶根據(jù)需求進行操作,軟件將自動分配相關(guān)管腳,顯示管腳的功能名稱,以綠色標注。單片機管腳功能定義的操作流程如下圖1所示。

(1)在“RCC”中配置系統(tǒng)時鐘源:“High Speed Clock(高速時鐘源)”選擇“Crystal/Ceramic Resonator”,軟件將自動分配“RCC_OSC_IN、RCC_ OSC_OUT”管腳。“Low Speed Clock(低速時鐘源)”選擇“Crystal/Ceramic Resonator”,軟件將自動分配“RCC_ OSC32_IN、RCC_OSC32_OUT”管腳。STM32F746VET6單片機可使用內(nèi)、外兩種時鐘源,如果選擇內(nèi)部時鐘,則不用配置該項。(2)在“SYS”中配置仿真端口:“Debug(調(diào)試)”選擇“JTAG(5 pins)”。軟件將自動分配“SYS-JTAG、SYS_JTDO-SWO、SYS_JTDI、SYS_JTCK-SWCLK、SYS_JTMS-SWDIO”等管腳。(3)在“USARTx”中配置串口:STM32F746VET6芯片具備多個串口模塊,可根據(jù)串口需求數(shù)量進行配置。在“USART1”中,“Mode(模式)”選擇“Asynchronous(異步)”,軟件將自動分配“USART1_ RX、USART1_TX”。

STM32F746VET6單片機最小系統(tǒng)管腳功能定義,如圖1所示。由于通用I/O管腳具備復用功能,如需調(diào)整軟件自動分配的管腳定義,可單擊目標管腳,軟件將自動彈出管腳可復用功能的名稱菜單,選擇相應功能即實現(xiàn)管腳功能更改,同時具備相同功能的管腳將自動恢復為通用I/O狀態(tài)。采用STM32CubeMX軟件進行管腳功能定義,可以為單片機系統(tǒng)硬件電路設(shè)計提供直觀的芯片管腳分配參考,避免硬件設(shè)計中易發(fā)的管腳功能沖突的錯誤。

3 芯片時鐘樹設(shè)置

STM32F746VET6芯片采用多總線時鐘運行模式,能充分發(fā)揮不同運行速率的模塊功能,“Clock Configuration(時鐘配置)”界面可實現(xiàn)單片機時鐘樹管理,操作流程如下:

(1)時鐘晶振參數(shù)設(shè)置。(2)總線時鐘源選擇。(3)鎖相環(huán)(PLL)的倍頻、分頻系數(shù)設(shè)置。(4)外設(shè)總線時鐘分頻系數(shù)設(shè)置。

在進行時鐘樹的參數(shù)配置時,每一個參數(shù)的變化都會導致與之相關(guān)的時鐘頻率發(fā)生變化。如果某個時鐘頻率配置過高,軟件將以紅色進行提示錯誤結(jié)果,用戶可通過提示及時消除錯誤,使單片機的運行時鐘處于正常狀態(tài)。時鐘樹的配置結(jié)果將會生成的初始化C代碼直接體現(xiàn)出來,無需用戶再手動編寫初始化代碼。

4 外設(shè)參數(shù)設(shè)置

STM32CubeMX軟件的“Configuration”界面顯示了單片機所有處于激活狀態(tài)的功能模塊。雙擊模塊圖標,將會彈出“參數(shù)設(shè)置界面”,主要包括五種可選項。以本文定義的“USART1”為例進行說明:

“Parameter Settings”選項:串口參數(shù)設(shè)置。基本參數(shù)(波特率、通信位長、校驗位、停止位);高級參數(shù)(收發(fā)功能、采樣方式),串口硬件特性。

“User Constants”選項:用戶自定義參數(shù)。以宏定義形式出現(xiàn)在初始化代碼中。

“NVIC Settings”選項:中斷定義。如果選擇中斷有效,將在初始化代碼中生成與串口中斷相關(guān)函數(shù)定義。

“DMA Settings”選項:DMA方式設(shè)置。

“GPIO Settings”選項:外設(shè)相關(guān)管腳映射列表。可在“Use Label”中定義用戶自定義名稱,將在初始化代碼中出現(xiàn)。

5 初始化C代碼生成

在完成上述操作之后,就可以開始生成初始化C代碼。點擊“Project(項目)”菜單下“Settings(設(shè)置)”命令,彈出“Project Settings(項目設(shè)置)”界面,填寫軟件工程項目的名稱、存放路徑,選擇IDE類型(本文選擇MDK-ARM V5)。再次選擇“Project”菜單,執(zhí)行“Generate Code(代碼生成)”命令,就可以生成包含初始化C代碼的軟件工程項目。

利用MDK-ARM V5集成開發(fā)環(huán)境打開已生成的軟件工程項目,可以看到項目已具備完整的單片機軟件開發(fā)架構(gòu),初始化C代碼已自動生成。其中,項目結(jié)構(gòu)樹中顯示的“Drivers/STM32F7xx_ HAL_Driver”目錄包含了HAL庫文件,用戶只需要按照HAL編程規(guī)范在添加自定義功能,即可完成軟件項目的后續(xù)開發(fā)。

打開自動生成的程序文件,會發(fā)現(xiàn)存在豐富的備注語句,用戶可通過備注了解程序文件已實現(xiàn)的功能。其中,程序文件中存在添加自定義代碼的備注,例程如下:

/* USER CODE BEGIN … */

//用戶添加代碼區(qū)域

/* USER CODE END …*/

用戶可在該類備注之間自行添加程序代碼以實現(xiàn)相關(guān)功能,如果是后期需要對項目功能進行增刪,仍可以STM32CubeMX軟件進行調(diào)整,軟件將自動保留備注之間的相關(guān)代碼,無需再次手動編寫,這項功能為項目的持續(xù)改進提供了極大的便利。

6 結(jié)語

STM32CubeMX工具軟件用于STM32系列單片機系統(tǒng)開發(fā),能夠?qū)挠布O(shè)計到軟件開發(fā)整個流程起到強有力的輔助性作用,節(jié)約大量的工作量,加快系統(tǒng)開發(fā)進程。HAL庫文件采用了分層設(shè)計的思想,實現(xiàn)了對硬件層的抽象設(shè)計,可以讓用戶從繁瑣的基于寄存器編程方式中解放出來,即提高了程序的可移植性,又可讓用戶投入更多精力到應用層的開發(fā),極大提升了工作效率,是今后嵌入式系統(tǒng)設(shè)計與開發(fā)的新方向。

參考文獻

[1]羅清龍,馮敏,李清濤.基于STM32CubeMX嵌入式實驗教學改革實踐[J].計算機教育,2018,(1):155-158.

[2]羅瑤,魏忠義,朱磊,等. STM32CubeMX的高速USB通信模塊設(shè)計[J].單片機與嵌入式系統(tǒng)應用,2017,17(9):46-48.

[3]邢方誠,王素珍,宗衛(wèi)華,等.基于STM32 CubeMX的高速嵌入式圖像采集系統(tǒng)[J].單片機與嵌入式系統(tǒng)應用,2016,16(5):42-45.

Abstract:STM32CubeMX is an assistant tool software developed by STMicroelectronics for the development of STM full range SCM systems, which can greatly reduce the development workload, time and cost. This article takes STMicroelectronics STM32F746VET6 chip minimum system development case as an example to introduce the use of STM32CubeMX tool software application process.

Key words:STM32CubeMX; STM32 series single-chip; minimum system design

主站蜘蛛池模板: 天天综合色天天综合网| 欧美午夜视频| 欧美中文字幕在线视频| 天天色综合4| 色综合热无码热国产| 国产免费黄| 97人妻精品专区久久久久| …亚洲 欧洲 另类 春色| 亚洲国产综合自在线另类| 亚洲系列无码专区偷窥无码| 亚洲欧洲日韩综合色天使| 在线观看热码亚洲av每日更新| 亚洲另类国产欧美一区二区| 香蕉国产精品视频| P尤物久久99国产综合精品| 国产又色又刺激高潮免费看| 精品欧美日韩国产日漫一区不卡| 男女精品视频| 精品一区二区三区自慰喷水| 伊人狠狠丁香婷婷综合色| 国产福利一区视频| 亚洲日韩欧美在线观看| 成人无码一区二区三区视频在线观看 | 国产清纯在线一区二区WWW| 最新日韩AV网址在线观看| 99精品久久精品| 亚洲欧洲日本在线| 丰满人妻久久中文字幕| 天天做天天爱天天爽综合区| 免费人成网站在线观看欧美| 国产黄色片在线看| 国产精品一线天| 亚洲欧洲免费视频| 亚洲欧美日韩成人在线| 欧美精品v欧洲精品| 国产尤物在线播放| www精品久久| 国产毛片久久国产| 日韩无码视频专区| 色噜噜久久| 欧美啪啪精品| 亚洲欧美在线看片AI| 亚洲va精品中文字幕| 国产欧美日韩18| 国产一区二区精品福利| 国产成人精品男人的天堂下载 | www成人国产在线观看网站| 国产白浆在线观看| 制服无码网站| 中国一级特黄大片在线观看| 国产女人在线视频| 欧美人在线一区二区三区| 在线国产91| 亚洲天堂色色人体| 国产一区二区三区精品欧美日韩| 中文字幕色站| 亚洲免费三区| 国产内射在线观看| 国产精品视频白浆免费视频| 日韩欧美国产综合| 亚洲成人免费在线| 久久综合激情网| 国产免费久久精品99re丫丫一| 久草视频精品| 91久久国产综合精品女同我| 精品無碼一區在線觀看 | 亚洲第一区精品日韩在线播放| 中文字幕日韩欧美| 香蕉伊思人视频| 中文天堂在线视频| 欧美啪啪视频免码| 亚洲精品你懂的| 无码一区二区波多野结衣播放搜索| 亚洲综合中文字幕国产精品欧美| 精品无码视频在线观看| 欧美一区国产| 亚洲欧美在线综合图区| 青青草国产在线视频| 98精品全国免费观看视频| 一区二区三区高清视频国产女人| 久久久久中文字幕精品视频| 日本免费一区视频|