《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 新一代嵌入式微處理器STM32F103開發與應用
新一代嵌入式微處理器STM32F103開發與應用
電子市場
摘要: 基于Cortex-M3內核的STM32F103系列芯片是新型的32位嵌入式微處理器,它是不需操作系統的ARM,其性能遠高于51系列單片機,但開發過程與51系列單片機一樣簡便,因而在很多應用場合可替代51系列單片機。本文從STM32F103系列芯片性能特點和片上資源入手,重點介紹其開發工具以及開發流程。并以溫度測量為例,具體說明了基于Keil?Vision4軟件的工程建立、源程序編輯、編譯,基于J-Link仿真器的程序下載,程序在線調試,片上運行等過程,最終測量的溫度轉換為數字量,通過串口發送至PC機顯示。1引言嵌入式微處理器正越來越廣泛的應用在生產生活的各個領域,但是傳統的嵌入式微處理器要么是8位的處理器,性能有限,要么是32位基于ARM的微處理器在使用上需要嵌入式操作系統的支持,比如Linux操作系統,使得系統不夠精煉。這一情況直到ARM公司推出Cortex-M內核才得以改善,它無需操作系統,可以像單片機一樣使用KeilC語言進行編程,極大的減少了開發者的工作量。2007年6月,ST公司及時推出了一款基于Cortex-M3內核的新型ARM處理器:STM32系列微處理器。本文以stm32F103處理器為
Abstract:
Key words :

     摘要: 基于Cortex- M3內核的STM 32F103系列芯片是新型的32位嵌入式微處理器, 它是不需操作系統的ARM, 其性能遠高于51系列單片機, 但開發過程與51系列單片機一樣簡便, 因而在很多應用場合可替代51系列單片機。本文從STM 32F103系列芯片性能特點和片上資源入手, 重點介紹其開發工具以及開發流程。并以溫度測量為例, 具體說明了基于Keil? Vision4軟件的工程建立、源程序編輯、編譯, 基于J- L ink仿真器的程序下載, 程序在線調試, 片上運行等過程, 最終測量的溫度轉換為數字量, 通過串口發送至PC 機顯示。

  1 引言

  嵌入式微處理器正越來越廣泛的應用在生產生活的各個領域, 但是傳統的嵌入式微處理器要么是8位的處理器, 性能有限, 要么是32位基于ARM 的微處理器在使用上需要嵌入式操作系統的支持, 比如L inux操作系統, 使得系統不夠精煉。這一情況直到ARM 公司推出Cortex- M 內核才得以改善, 它無需操作系統,可以像單片機一樣使用Ke il C 語言進行編程, 極大的減少了開發者的工作量。2007年6月, ST 公司及時推出了一款基于Cortex- M 3內核的新型ARM 處理器: STM32系列微處理器。本文以stm32F103處理器為例, 列舉了開發需要用到的各種軟硬件資源及其作用, 較詳細介紹了處理器開發使用方法, 隨后具體到以溫度傳感器檢測溫度這一實際應用, 給開發者提供一個更加直觀的印象, 目的就是讓開發者能盡快了解熟悉該處理器的特點, 掌握該系列處理器的開發使用方法。

  2 STM32F103系列微處理器簡介

  STM32F103系列微處理器是首款基于ARMv7- M體系結構的32位標準RISC (精簡指令集)處理器, 提供很高的代碼效率, 在通常8位和16位系統的存儲空間上發揮了ARM 內核的高性能。該系列微處理器工作頻率為72MHz,內置高達128K 字節的Flash存儲器和20K 字節的SRAM,具有豐富的通用I /O 端口。

  作為最新一代的嵌入式ARM 處理器, 它為實現MCU 的需要提供了低成本的平臺、縮減的引腳數目、降低的系統功耗, 同時提供了卓越的計算性能和先進的中斷響應系統。豐富的片上資源使得STM32F103系列微處理器在多種領域如電機驅動、實時控制、手持設備、PC 游戲外設和空調系統等都顯示出了強大的發展潛力。

  STM32F103系列微處理器主要資源和特點如下:

  ( 1)多達51個快速I /O 端口, 所有I/O口均可以映像到16個外部中斷, 幾乎所有端口都允許5V 信號輸入。每個端口都可以由軟件配置成輸出(推挽或開漏)、輸入(帶或不帶上拉或下拉) 或其它的外設功能口。

  ( 2) 2個12位模數轉換器, 多達16個外部輸入通道, 轉換速率可達1MH z, 轉換范圍為0~ 36V; 具有雙采樣和保持功能; 內部嵌入有溫度傳感器, 可方便的測量處理器溫度值。

  ( 3)靈活的7路通用DMA 可以管理存儲器到存儲器、設備到存儲器和存儲器到設備的數據傳輸, 無須CPU 任何干預。通過DMA可以使數據快速地移動, 這就節?? CPU 的資源來進行其他操作。DMA 控制器支持環形緩沖區的管理, 避免了控制器傳輸到達緩沖區結尾時所產生的中斷。它支持的外設包括: 定時器、ADC、SPI、I2C和USART 等。

  ( 4)調試模式: 支持標準的20腳JTAG 仿真調試以及針對Cortex- M3內核的串行單線調試( SWD )功能。通常默認的調試接口是JTAG 接口。

  ( 5)內部包含多達7個定時器, 具體名稱和功能如表1所示。

  ( 6)含有豐富的通信接口: 三個USART異步串行通信接口、兩個I2C 接口、兩個SPI接口、一個CAN 接口和一個USB接口, 為實現數據通信提供了保證。

表1 各個定時器名稱及其作用

各個定時器名稱及其作用

  3 開發工具和流程

  3.1 開發工具

  對STM32F103系列MPU 開發前, 需要準備相應的軟硬件。其中硬件主要包括STM32F103開發板(或用戶目標板)、J- L ink下載仿真器等; 軟件主要包括Ke il V ision4 IDE 開發平臺。下面對各自的功能和特點做簡要說明。

  ( 1) STM32F103開發板(或用戶目標板)是開發目標對象。

  ( 2) J- L ink下載仿真器是程序下載的樞紐, 它帶有的標準20芯扁平電纜可將程序通過JTAG 接口下載到處理器內部存儲空間; 無需外部供電, 用USB 連接線與PC 機連接好后即可工作; 還具有下載速度快、功耗低的特點。

  ( 3) Ke il V ision4 IDE 是一個基于窗口的軟件開發平臺, 它集成了強大而且現代化的編輯器、工程管理器和make工具, 幾乎集成了嵌入式系統開發所需的全部工具: C /C + + 編譯器、宏匯編器、鏈接/定位器、HEX 文件生成器等。該軟件提供了兩種工作模式: 編譯和調試模式。在編譯模式中, 開發者可以創建工程、選擇目標器件、新建文件、輸入源代碼、生成可執行文件; 調試模式中, 開發者可以利用其強大的集成調試器對應用程序進行調試, 如設置斷點、單步執行等, 方便了程序錯誤的查找和修改。

  3.2 開發流程

  ( 1)用J- L ink仿真器將PC 機和STM32F103開發板連接起來。

  ( 2)使用K eil V ision4 IDE開發平臺創建新工程, 編寫源程序。

  打開Ke il V ision4 軟件, 創建新的工程文件, 為該工程選擇器件: STM icroe lectron ics 公司的STM32F103R8芯片, 單擊確定后會彈出對話框, 提示是否選擇將啟動代碼添加到目標工程。啟動代碼用來完成系統的初始化工作, 對于嵌入式系統來說是必不可少的。選擇??是 將啟動代碼加入到目標工程, 這樣可以大大節省啟動代碼的編寫工作。工程創建完畢后, 即可在該工程下新建C 文件, 編寫源程序, 完成后將其添加到工程中。最后將庫文件STM32F10xRLIB 和STM32F10xDLIB 也添加到工程中。至此, 程序創建工作結束。所需源文件及功能如表2示。

表2 完整工程所需文件

完整工程所需文件

  ( 3)程序的編譯、下載、仿真和調試等。

  程序編寫完成后即可編譯文件, 編譯無錯誤后選擇Options選項, 在D ebug程序編譯鏈接成功之后, 選擇Pro ject /Opt ions for Targe,t 打開對話框后, 選擇Debug選項卡, 在U se下拉按鈕中選擇Cortex- M3 J- L ink, 選擇好后點擊settings, 在彈出的對話框中點擊Add按鈕, 選擇STM32F10xM ed- density Flash。點擊OK 完成配置。通過Load即可將程序下載到目標器件中。如圖1所示。

  如果需要對程序進行在線調試, 選擇S tart /Stop Debug Session, 這時可以插入斷點、設置指針、單步執行、復位等, 還可以觀察各個寄存器值的變化, 進行波形仿真。總之可以很方便的在線調試程序。

  4 應用程序開發實例

  下面以溫度測量為例, 具體介紹STM32F103處理器的開發使用方法。該處理器帶有12位逐次逼近式ADC, 其輸入量程為VREF- ~ VREF+ , 在LQFP64引腳或更少的引腳封裝形式中, 它們在芯片內部與ADC 的地VSSA和電源VDDA相連。由于STM32處理器在本設計中采用33V 電壓供電, 因此其輸入量程為0~ 33V。

  處理器內部自帶一個溫度傳感器, 它感知到MPU 周圍的溫度變化, 將其轉化為電壓的變化。該傳感器的溫度適應范圍很寬, 可以測量- 40℃~ + 125℃之間變化的溫度值, 轉換精度為±1.5 ℃ , 能夠較好的滿足溫度測量的任務。

  4.1 AD轉換和數據傳輸

  通常情況下, 內部溫度傳感器是關閉的, 為了使其正常工作, 首先需要選擇ADC _IN16通道, 因為該通道是內部通道, 與溫度傳感器直接相連, 其次要設置相關功能寄存器ADC _CR2的TSVREFE位, 開啟溫度傳感器和VREFINT通道。

  編寫main c文件時, 首先配置系統時鐘, 然后進行引腳配置, 主要是為串口數據發送和接收配置引腳,本設計采用通用I /O 口PB10作為串口發送引腳, 配置為推挽式輸出, 速度為50MH z; 將通用I /O 口PB11作為串口接收引腳, 浮空輸入模式。然后配置串口工作方式及中斷, 設置波特率為9600Baud、8位數據位、無校驗位、1位停止位、無硬件流控制。然后使能串口的中斷、發送、接收。將AD 轉換通道設為通道16, 使能溫度傳感器。檢測到ADC 校準寄存器復位完成后, 啟動ADC 校準, 校準完成后軟件觸發啟動ADC 轉換。

  設置w h ile無限循環, 等待串口中斷, 在中斷程序stm32 f10x_ it c文件中, 將轉換結果數據通過串口發送到PC機。流程圖如圖2所示。

Dubug 選項的配置

圖1 Dubug 選項的配置

溫度測量流程圖

圖2 溫度測量流程圖

C + + Buider顯示界面

圖3 C + + Buider顯示界面

  4.2 顯示界面的設計

  在PC 機上, 使用C+ + Builder軟件制作顯示界面。編寫串口接收程序, 將串口設置與發端一致, 接收數據時以雙字節十六進制形式接收。接收到的數據大小介于0~ 0x0FFF之間, 換算為十進制數介于0~4095之間。由于VREF- = 0V, VREF+ = 3.3V, 因此, 根據數值和電壓值的關系算得當前電壓值。VSENSE = Data /4096* 3.3V。比如, 若當前得到十進制數值為1773, 則根據上述公式算得當前電壓為1.428V。得到電壓值之后, 由公式:

  TA = { ( V25 - VSEN SE ) /A vg_S lope} + 25可進一步算出當前溫度值。其中, V25 為VSENSE 在25℃ 時的大小, 其值為1.43V; Avg_Slope為溫度與VSENSE曲線的平均斜率, 大小為4.3mV /℃ 。根據上例得出的當前電壓1428V, 可推算得溫度值為25.36 ℃ 。得出結果的同時將該溫度值在該界面中顯示出來。結果顯示如圖3所示。

  5 結束語:

  基于Cortex- M3內核的STM32F103系列處理器是新型的嵌入式微處理器, 它在各方面指標上都遠遠優于51系列單片機, 但是其開發使用方法卻和51系列單片機一樣簡便, 而且不需要操作系統的支持, 因此開發工作量比起傳統的嵌入式系統大大減少了。這些突出的優勢使得STM32系列處理器在生產生活的各個領域都有很大的發展潛力, 得到了越來越廣泛的應用。本文從該款處理器的資源、性能和特點入手, 較詳細的介紹了其開發工具和開發流程, 特別對K eilV ision4開發平臺的使用做了詳細的說明。最后以溫度測量實驗為例, 具體講解了片上AD資源的開發使用方法, 給讀者提供了一個直觀的印象, 為開發者更好的使用該款微處理器提供借鑒。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线播放中文字幕一区| 亚洲一级二级在线| 欧美揉bbbbb揉bbbbb| 欧美福利在线| 麻豆精品国产91久久久久久| 久久久久**毛片大全| 久久成人免费日本黄色| 欧美一区二区在线看| 香蕉免费一区二区三区在线观看| 亚洲一级二级| 亚洲性夜色噜噜噜7777| 亚洲午夜性刺激影院| 亚洲天堂av图片| 亚洲永久免费精品| 99视频在线精品国自产拍免费观看 | 亚洲娇小video精品| 国产精品亚洲欧美| 亚洲免费观看视频| 亚洲最黄网站| 中文网丁香综合网| 亚洲一区二区三区乱码aⅴ| 亚洲伊人伊色伊影伊综合网| 亚洲免费视频网站| 欧美一区二区三区在线播放| 久久精品一区| 免费观看日韩| 欧美日韩成人激情| 国产精品久久久久aaaa樱花| 国产毛片精品视频| 精品成人一区二区三区| 在线观看91精品国产入口| 亚洲国产毛片完整版| 亚洲看片免费| 一区二区激情| 性伦欧美刺激片在线观看| 亚洲国产成人tv| 99国产精品久久久久久久久久| 亚洲视频综合| 欧美专区在线观看一区| 欧美成年人网站| 国产精品久久久久久久久久ktv| 国产一级揄自揄精品视频| 91久久国产综合久久| 亚洲一区二区av电影| 久久精品亚洲一区二区三区浴池| 亚洲毛片在线看| 性色av一区二区怡红| 老**午夜毛片一区二区三区| 欧美日韩精品系列| 国产亚洲第一区| 亚洲国产日韩在线| 亚洲欧美成aⅴ人在线观看| 亚洲激情av在线| 亚洲在线一区| 美女黄色成人网| 国产精品电影网站| 合欧美一区二区三区| 99视频精品全国免费| 欧美在线网站| 在线一区二区三区四区| 久久精品一级爱片| 欧美日韩免费一区二区三区| 国产亚洲一区二区精品| 日韩视频免费观看| 久久电影一区| 亚洲淫性视频| 亚洲国产一区二区三区青草影视 | 麻豆成人在线播放| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 一区在线影院| 亚洲视频导航| 午夜久久电影网| 91久久精品国产91性色tv| 亚洲精品视频免费| 欧美与欧洲交xxxx免费观看| 亚洲视频一二三| 久久一区中文字幕| 国产精品一区二区在线观看| 亚洲精品一区二| 久久精品国产免费观看| 亚洲男女自偷自拍图片另类| 免费看的黄色欧美网站| 国产精品视频一| 亚洲精品在线观看免费| 亚洲成人在线视频播放 | 久久综合久久综合九色| 国产精品一区二区在线观看网站 | 亚洲精品系列| 久久综合九色综合久99| 国产精品一区二区你懂的| 9久re热视频在线精品| 亚洲精品人人| 久久综合久久综合久久综合| 国产精品一区二区黑丝| 亚洲最新中文字幕| aa国产精品| 欧美国产视频在线观看| 在线观看欧美| 久久精品国产精品亚洲精品| 欧美一站二站| 国产精品亚洲综合天堂夜夜| 一区二区三区高清在线| 99精品国产在热久久| 欧美大片一区二区三区| 在线国产日韩| 亚洲激情黄色| 免费成人黄色| 亚洲福利视频网站| 亚洲国产色一区| 久久综合久久综合久久| 国内成+人亚洲| 久久精品男女| 久久久久在线| 精品动漫3d一区二区三区| 久久本道综合色狠狠五月| 欧美伊人久久大香线蕉综合69| 国产精品久久久久久av下载红粉| 中文国产成人精品久久一| 亚洲天堂av图片| 国产精品成人在线| 亚洲综合第一| 久久精品国产亚洲一区二区三区| 国产日韩av高清| 香蕉久久精品日日躁夜夜躁| 久久精品视频在线| 黄色成人av在线| 亚洲第一页在线| 老色鬼精品视频在线观看播放 | 亚洲激情欧美| 99亚洲视频| 国产精品成人免费| 亚洲欧美日本国产有色| 久久精品视频在线看| 极品裸体白嫩激情啪啪国产精品| 91久久夜色精品国产网站| 欧美精品v日韩精品v国产精品| 日韩小视频在线观看专区| 亚洲欧美另类中文字幕| 国产欧美日韩另类一区 | 亚洲美女在线观看| 欧美日韩成人综合| 亚洲一区二区三| 久久久999| 亚洲高清视频中文字幕| 一区二区三区三区在线| 国产精品视频内| 亚洲国产91| 欧美日韩精品系列| 亚洲欧美伊人| 快播亚洲色图| 亚洲伦理在线免费看| 亚洲永久免费观看| 韩国三级在线一区| 日韩午夜免费| 国产精品中文在线| 亚洲国产影院| 欧美日韩免费一区| 欧美在线短视频| 欧美日韩视频| 亚洲大胆女人| 欧美日韩一区二区三区在线看| 午夜精品在线看| 欧美精品三级日韩久久| 亚洲欧美精品在线观看| 欧美二区在线看| 亚洲在线观看视频网站| 欧美暴力喷水在线| 亚洲永久字幕| 欧美国产成人精品| 午夜在线精品偷拍| 欧美理论片在线观看| 亚洲欧美日韩天堂一区二区| 欧美国产先锋| 香蕉久久夜色精品| 欧美日韩国产高清视频| 欧美在线观看www| 欧美午夜精品久久久| 亚洲国产视频一区| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲第一精品久久忘忧草社区| 欧美日韩免费高清一区色橹橹| 欧美伊人久久| 国产精品成人免费| 亚洲日本aⅴ片在线观看香蕉| 国产精品久久久一区麻豆最新章节 | 午夜一区不卡| 欧美日韩一区二区在线播放| 久久精品网址| 国产精品视频一二| 一区二区久久| 一区二区在线视频| 欧美中文字幕视频| 一区二区三区高清不卡| 欧美大学生性色视频| 久久国产日韩| 国产精品一二三视频| 中文国产成人精品| 亚洲国产精品一区制服丝袜| 久久久999成人| 午夜激情亚洲|