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

基于STM32和FreeRTOS的溫度測量系統設計

2019-04-28 05:58:02趙波
電子技術與軟件工程 2019年3期
關鍵詞:測量系統設計

文/趙波

●本文獲得上海海洋大學校級重點課程建設項目(A1-0201-00-1023)資助。

1 引言

溫度是日常生活及工業生產中重要的物理量,因此對溫度的測量及監測有著重要的意義。隨著現代電子技術的發展,溫度測量的方法及對溫度信息的采集使用也發生了很大的改變。本文設計了一種基于STM32F103RBT6單片機及FreeRTOS實時嵌入式系統的溫度測量系統。STM32F103RBT6是一款以ARMCortex-M3為內核的高性能微控制器,目前廣泛應用于各種工業場合。FreeRTOS是一種輕量級可剝奪型多任務實時操作系統,目前得到廣泛應用。

2 系統組成

本系統主要包括:STM32 NUCLEOF103RB核心板、0.96寸OLED顯示模塊、串口模塊、DS18B20溫度測量模塊。

STM32 NUCLEO開發平臺由ST-LINK/V2-1仿真器模塊和主MCU核心板模塊兩個部分組成,是一款易用性好、可擴展性佳的低成本平臺。DS18B20是美國DALLAS公司生產的單總線數字溫度傳感器,溫度測量范圍為-55~+128,使用時只需一根信號線,大大簡化了硬件設計。為了實現測量系統與上位機的通許,本系統使用了串口模塊,實現異步串口與USB接口的轉換。0.96寸OLED模塊用來實現溫度數據的顯示,該模塊采用SPI接口與MCU相連,軟硬件設計都較為方便。

3 硬件設計

STM32 NUCLEO-F103RB核心板的板載MCU型號是STM32F103RBT6,該芯片具有豐富的片上資源,本設計中主要使用的資 源 包 括:GPIO、SPI、USART等。 該 核心板默認不帶外部晶振,本設計使用的是STM32F103RBT6芯片的內部振蕩電路,工作頻率配置為64MHz。STM32F103RBT6有2個片內SPI接口,設計中使用SPI2與OLED相連。串口模塊與STM32F103RBT6的USART2相連實現核心板與上位機的通訊。DS18B20測溫模塊經上拉電阻與STM32F103RBT6的GPIO相連實現測溫控制。設計中使用STM32CubeMX進行引腳分配并初始化。

4 軟件設計

本文利用STM32CubeMX可視化工具對STM32F103RBT6單片的GPIO、SPI、USART的工作模式和相關參數進行配置完成初始化工作,并導入以上片上資源的HAL庫文件,生成Keil工程。利用HAL庫函數編寫了DS18B20、OLED、異步串行口模塊的驅動程序。

4.1 系統任務設計

FreeRTOS是一個輕型的實時操作系統內核,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、協程等,可基本滿足較小系統的需要。FreeRTOS內核支持優先級調度算法,每個任務可根據重要程度的不同被賦予一定的優先級,CPU總是讓處于就緒態的、優先級最高的任務先運行。FreeRTOS內核同時支持輪換調度算法,系統允許不同的任務使用相同的優先級,在沒有更高優先級任務就緒的情況下,同一優先級的任務共享CPU的使用時間。本文將整個系統程序劃分為3個任務進行實現,任務函數名稱、優先級分配、任務功能如表1所示。

系統任務中,DS18B20溫度測量任務優先級最低,OLED顯示和串口發送任務優先級較高。正常工作時應該首先獲得測量數據,然后再進行顯示和傳送。為了實現這一工作流程,在這里使用了FreeRTOS的消息隊列功能。TASK_1完成一次溫度測量后,發送消息隊列給TASK_2。TASK_2在接收到TASK_1的消息隊列之前處于阻塞狀態,即使有較高優先級也不會被系統調度執行,只有接收到TASK_1的消息隊列之后才會被調度執行。TASK_2在執行過程中會向更高優先級的TASK_3發送消息隊列,使處于阻塞狀態的TASK_3進入就緒狀態,從而被系統調度執行。這樣就能夠實現設計目的。

4.2 任務代碼實現

FreeRTOS 9.0的任務創建函數為xTaskCreate,該函數為實時操作系統中主要的函數,利用這個函數可以創建對所需要完成的任務的控制塊。

根據以上設計思想,系統需創建3個任務。任務創建代碼如下:

為了實現任務間的數據傳遞和系統的調度,本設計用到了FreeRTOS隊列功能,因此也創建了兩個隊列對象:

xQueue1=xQueueCreate(1,sizeof(int));//新建隊列

xQueue2=xQueueCreate(1,sizeof(int));

表1:任務信息

任務Task_1的代碼如下:; // 進入臨界區,防止破壞DS18B20讀寫時序

任務Task_1每隔100ms進行一次溫度測量,測量完成后,利用FreeRTOS的隊列將溫度數據傳遞到已經創建好的隊列xQueue1中。該隊列中的數據可以被任務Task_2讀取,從而實現溫度數據的顯示。

任務Task_2的代碼如下:

任務Task_2從隊列xQueue1讀取溫度數據,并利用OLED進行顯示,顯示完畢后,再將溫度數據發送給隊列xQueue2。當隊列xQueue1為空時,任務Task_2處于阻塞狀態,直到隊列中有數據到來。

任務Task_3從隊列xQueue2讀取溫度數據,利用異步串口發送至上位機。當隊列xQueue2為空時,任務Task_3處于阻塞狀態,直到隊列中有數據到來。

在FreeRTOS實時操作系統的調度下,系統完成測量、顯示、上位機數據傳送等任務。實驗證明該設計能夠達到既定的目的。

5 總結

本文在設計過程中,利用STM32cubeMX開發工具實現了FreeRTOS的快速移植。對系統任務及優先級進行了合理劃分,實現了預期的設計目的。高效的開發工具降低了開發難度,縮短了開發時間。FreeRTOS實時嵌入式操作系統的引入使系統設計更加靈活簡便,并且能夠方便的進行功能擴展。如果要實現多路溫度測量或增加其他功能,在本系統的基礎上增加相應的任務即可實現。

猜你喜歡
測量系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
滑動摩擦力的測量與計算
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 日韩精品亚洲人旧成在线| 搞黄网站免费观看| 亚洲大学生视频在线播放| 亚洲黄色网站视频| 亚洲国产日韩视频观看| 在线亚洲精品福利网址导航| 亚洲精品免费网站| 亚洲h视频在线| 亚洲高清中文字幕在线看不卡| 国产激情第一页| 亚洲日韩国产精品综合在线观看| 久久精品视频一| jizz国产视频| 久久亚洲国产视频| 国产精品一老牛影视频| 国产成人一二三| 国产91全国探花系列在线播放| 免费全部高H视频无码无遮掩| 91精品情国产情侣高潮对白蜜| 欧美不卡视频在线观看| 欧美日韩亚洲国产主播第一区| 国产剧情一区二区| 亚洲欧美日本国产综合在线| 日韩天堂网| 亚洲欧美人成电影在线观看| 一级在线毛片| 在线播放真实国产乱子伦| 亚洲精品少妇熟女| 中文字幕在线一区二区在线| 午夜三级在线| 免费A级毛片无码无遮挡| 国产91丝袜| 亚洲综合片| 伊人色天堂| 97国产成人无码精品久久久| 日韩视频精品在线| 国产凹凸一区在线观看视频| 久久狠狠色噜噜狠狠狠狠97视色| 国产精品短篇二区| 丁香婷婷综合激情| 本亚洲精品网站| 久久黄色一级片| 国产亚洲欧美日韩在线一区二区三区| 久久天天躁狠狠躁夜夜躁| 欧美国产日韩在线| 国产v精品成人免费视频71pao| 91福利一区二区三区| 久久久久国产精品嫩草影院| 精品国产美女福到在线直播| 99视频有精品视频免费观看| 国产精品人莉莉成在线播放| 91精选国产大片| 激情综合图区| 五月天久久婷婷| 亚洲美女一区| 国产真实自在自线免费精品| 成人午夜亚洲影视在线观看| 日韩在线播放中文字幕| 国产国产人在线成免费视频狼人色| 亚洲欧美天堂网| 婷婷五月在线| 欧美激情一区二区三区成人| 成人年鲁鲁在线观看视频| 久久99国产综合精品1| 日韩福利在线观看| 一区二区三区四区精品视频| 国产精品视频猛进猛出| 国产拍在线| 高清码无在线看| 五月婷婷导航| 亚洲欧美一级一级a| 亚洲国产综合精品中文第一| 67194在线午夜亚洲| 久久免费精品琪琪| 国产小视频免费| 国产凹凸视频在线观看| 国产精品亚洲αv天堂无码| 香蕉国产精品视频| 三级视频中文字幕| 一本大道香蕉久中文在线播放| 91亚洲精选| 青青草国产在线视频|