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

基于STM32的多串口通用底板的研究

2021-03-08 09:47:23崔永在張春慧李雪茜
科學(xué)與財富 2021年5期

崔永在 張春慧 李雪茜

摘 要:MCU STM32性能強、性價比高,因而廣泛用于各種嵌入式設(shè)備;嵌入式設(shè)備種類繁多;串口硬件形式也變化多樣;繁雜多樣的串口配置也導(dǎo)致了STM32調(diào)試的問題;鑒于此;總結(jié)了各種開發(fā)場景下常用串口硬件接口、軟件配置方法,嘗試了一種基于多串口通用底板工具實現(xiàn)的免配置直接通過串口軟件進行設(shè)備調(diào)試的方法;可以簡化STM32開發(fā)過程,實現(xiàn)快速搭建硬件平臺,調(diào)通互聯(lián)設(shè)備。解決每個開發(fā)項目所面對調(diào)測問題,迅速形成原理樣機,加快開發(fā)過程。

關(guān)鍵詞:STM32串口連接;多串口調(diào)試;串口通用底板

1 引言

生活中智能手環(huán)、微型四軸、掃地機器人、工業(yè)自動化控制等大多基于STM32,可見隨著物聯(lián)網(wǎng)終端和便攜設(shè)備的大量使用,會有越來越多的STM32設(shè)備被開發(fā)使用到更多場景下。串口作為MCU的重要外部接口,同時也是軟件開發(fā)的重要調(diào)試手段,其重要性不言而喻[1] [8]。

考慮到現(xiàn)有網(wǎng)絡(luò)和設(shè)備的狀況,新技術(shù)的使用目前只能在部分領(lǐng)域和地區(qū)使用。而占主導(dǎo)地位的串行通信技術(shù)因其連接簡單、使用靈活方便、數(shù)據(jù)傳遞可靠,造價低廉等優(yōu)點,在工業(yè)監(jiān)控、數(shù)據(jù)采集、智能控制和實時控制系統(tǒng)中得到普遍應(yīng)用[2]。

正是串行通信的連線少、成本低,因此它在數(shù)據(jù)采集和控制系統(tǒng)中得到了廣泛的應(yīng)用,產(chǎn)品也是多種多樣[3]。據(jù)調(diào)查,目前國際上已有上百種嵌入式設(shè)備,這一類產(chǎn)品的特點是體積較小,需要外部輸入的信息和對外輸出的信息多,因此要求單片機體積小且I/O多.然而串口的硬件卻有多種形式,應(yīng)用的外接的串口設(shè)備及配置方法不盡相同,操作卻花式多樣 [5]。正是因為這些問題而限制了它往更多的領(lǐng)域發(fā)展.這時就出現(xiàn)了技術(shù)瓶頸,需要我們找到其他的途徑來獲得期望得到的效果.能夠有效的解決不同串口通信統(tǒng)一配置的問題,實現(xiàn)大量的串口與一個或多個主機之間的穩(wěn)定,安全的串口通信[6]。

研究多串口通用底板技術(shù)可簡化串口的雙向通訊功能,傳輸數(shù)據(jù),編程調(diào)試的繁瑣操作,并且會大大縮短開發(fā)周期。用在串口數(shù)據(jù)采集通信系統(tǒng)中,編程效率與移植性將不斷增強,同時適合于對通信質(zhì)量要求較高,傳輸距離較遠的應(yīng)用場合[7]。

2 基本概述

多串口通訊底板技術(shù)集成常見的TTL與RS232兩種形式的串口外,還可以直接提供給外接的設(shè)備直接使用,免除了硬件的連接和驅(qū)動的配置,保證系統(tǒng)拿到以后免配置直接可以通過串口軟件直接進行設(shè)備的調(diào)試。

編程者可以通過上位機的串口助手,發(fā)送任意的指令進行測試。發(fā)送的指令可以通過上位機直接轉(zhuǎn)發(fā)給STM32接收串口后,通過另一個串口轉(zhuǎn)發(fā)給串口測試設(shè)備,然后從測試設(shè)備反饋的指令結(jié)果通過STM32反饋給上位機進行檢測。

3 主要內(nèi)容

STM32開發(fā)模塊都具備可以配置使用的多個串口,一般有5-8個同步串口(USART)和異步串口(UART)。這些串口都可以用于對外連接調(diào)測設(shè)備,或者用于調(diào)測的信息顯示。外連的設(shè)備包括各種衛(wèi)星(北斗、銥星等)通信模塊,無線通信模塊(GPRS、3G、4G模塊),傳感器(煙霧、聲音、震動等)。一般的串口硬件形式有兩種,一種是TTL,另一種是RS232。兩種形式主要區(qū)別在于信號電平不同[10]。

1.指令模式發(fā)送

根據(jù)目前串口對聯(lián)設(shè)備測試指令的具體形式,以及可以用于發(fā)送測試的各種指令,形成系統(tǒng)測試的發(fā)送和反饋信息回路。同時,為了保證適應(yīng)于各種情況下的開發(fā),采用不封裝具體指令的方式,使用可以發(fā)送任意指令的串口助手作為測試的人機界面接口,方便用戶根據(jù)具體的要求測試連接的對接設(shè)備 [9]。

實現(xiàn)方式如下:

(1)通過串口檢測的軟件,通過指令方式發(fā)送指令到STM32。

(2)STM32串口接收到指令后,將指令直接發(fā)送給連接的另一個串口的設(shè)備。

(3)對接的設(shè)備對接收的指令執(zhí)行,同時將指令執(zhí)行結(jié)果反饋給STM32。

(4)STM32將對接測試設(shè)備反饋的指令信息,輸出給測試用的串口顯示界面。然后,完成整個系統(tǒng)的硬件連接,驅(qū)動配置和軟件調(diào)測。

2. STM32驅(qū)動配置及開源軟件設(shè)置

因為串口的硬件多種形式,為了同時可以對接TTL形式硬件接口,或者是RS232形式硬件接口,采用集成TTL和RS232轉(zhuǎn)換模塊的形式,通過跳線的方式來實現(xiàn)兩者直接的信號電平轉(zhuǎn)換。

2.1 STM32的硬件配置和中斷轉(zhuǎn)發(fā)方式

因為配置多個串口,需要將中斷的等級設(shè)置好,本項目以5個串口為例,將串口中斷都設(shè)置成組1中(NVIC_PriorityGroup_1),中斷優(yōu)先級為1,子優(yōu)先級為0。為了便于調(diào)測使用,可以將其中的兩個作為測試展示使用,其他的串口可以暫時關(guān)閉,在項目需要的時候,通過USART_ITConfig(USART_X, USART_IT_RXNE, ENABLE)的方式打開串口即可直接使用。

4 實驗

在很多的實驗與實際生產(chǎn)中,串口在 STM32 應(yīng)用最多的是“打印”程序信息,一般在硬件設(shè)計時都會預(yù)留一USART 通信接口連接電腦,用于在調(diào)試程序是可以把一些調(diào)試信息“打印”在電腦端的串口調(diào)試助手工具上,從而了解程序運行是否正確、如何出錯具體哪里出錯等等。

實驗結(jié)果

在實驗中串口通訊的數(shù)據(jù)包由發(fā)送設(shè)備通過自身的TXD接口傳輸?shù)浇邮赵O(shè)備得RXD接口,在協(xié)議層中規(guī)定了數(shù)據(jù)包的內(nèi)容,具體包括起始位、主體數(shù)據(jù)(8位或9位)、校驗位以及停止位,通訊的雙方必須將數(shù)據(jù)包的格式約定一致才能正常收發(fā)數(shù)據(jù)。當(dāng)開發(fā)板與上位機之間通過USB線連接,成功安裝USB轉(zhuǎn)串口驅(qū)動與CH341驅(qū)動后,可以把一些調(diào)試信息“打印”在電腦端的串口調(diào)試助手工具上。

(1)收發(fā)字符信息

以USART_SendData(pUSARTx,ch)函數(shù)為基礎(chǔ)建立的函數(shù)可以向上位機發(fā)送數(shù)據(jù),利用FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)讀取發(fā)送數(shù)據(jù)寄存器的狀態(tài)來 等待發(fā)送寄存器將數(shù)據(jù)成功發(fā)送。還可使用重定向后的printf()函數(shù)與getchar函數(shù),向串口調(diào)試助手收發(fā)數(shù)據(jù)。如:在上位機上用串口調(diào)試助手發(fā)送一個字符X,STM32在收到字符后返回給上位機,顯示"I got X",串口波特率設(shè)定為9600bps。使用printf()函數(shù)。

(2) 串口指令控制

通過串口調(diào)試工具向串口發(fā)送控制信號:1-小燈亮;0-小燈暗。即在串口中斷(UART2)接收到之后進行處理,判斷,如果接收到的字符為1,則控制小燈亮,如果接收到的字符為0,則控制小燈暗.同時USART2獲得相關(guān)數(shù)據(jù),再發(fā)送到STM32的LCD屏顯示指令編碼,以及照明持續(xù)的時間。

串口是絕大多數(shù) MCU 中不可或缺的一個外設(shè),同時也是我們開發(fā)中經(jīng)常使用的一種調(diào)試手段,所以在STM32的應(yīng)用中,利用某串口進行設(shè)備的調(diào)試,尤為重要。

4 結(jié)束語

為實現(xiàn)免配置直接可以通過串口軟件直接進行設(shè)備的調(diào)試,本文設(shè)計了一個串口通用底板開發(fā)方式。該設(shè)計兼容了各種開發(fā)需求下通用的軟硬件系統(tǒng),可以通過串口收發(fā)數(shù)據(jù),并具備輸出顯示調(diào)試串口,幫助在STM32和互聯(lián)設(shè)備連接時,調(diào)試之間的連通信息。

參考文獻:

[1] 張源, 卞鴻巍. 組合導(dǎo)航計算機高效多串口通訊技術(shù)實現(xiàn)[J]. 計算機測量與控制, 2009(06):149-151+175.

[2] 姚予疆. 通信設(shè)備接口協(xié)議手冊[M].2005.

[3] 趙炯等. 串行數(shù)據(jù)傳輸協(xié)議的剖析研究.計算機工程.2004,5.

[4] 劉忠誠. 基于STM32的嵌入式多串口服務(wù)器的研究與設(shè)計[D].

[5] http://www.openedv.com/

[6] 劉忠誠. 基于STM32的嵌入式多串口服務(wù)器的研究與設(shè)計[D].

[7] 張淑清. 嵌入式單片機STM32設(shè)計及應(yīng)用技術(shù)[M]. 國防工業(yè)出版社, 2015.

[8] 焦江麗, 李鳳蓮. 以ARM Cortex-M3為基礎(chǔ)的STM32開發(fā)板的設(shè)計與實現(xiàn)[J]. 中國新通信, 2013, 000(009):94-96.

[9] 郭勇,何軍.STM32單片機多串口通信仿真測試技術(shù)研究[J].無線電工程, 2015.

[10] 牛洪濤. "RS—232電平與TTL電平之間的轉(zhuǎn)換."?計算機與通信?12(1997):39-40.

[11]RICHARDBARNETT, LARRYO'CULL. 嵌入式C語言編程與Microchip PIC[M]. 清華大學(xué)出版社, 2005.

省級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目:S201910453051

(泰山學(xué)院-物理與電子工程學(xué)院? ?271000)

主站蜘蛛池模板: 国产精品人莉莉成在线播放| 日本成人福利视频| 精品视频在线一区| 久青草网站| 国产在线麻豆波多野结衣| 久久青草视频| jizz国产在线| 国产网站一区二区三区| av一区二区三区在线观看| 91综合色区亚洲熟妇p| 国产高潮视频在线观看| 青青青视频91在线 | 色久综合在线| a毛片基地免费大全| 国模极品一区二区三区| 2021国产乱人伦在线播放| 国产精品丝袜视频| 天堂亚洲网| 无码人妻热线精品视频| 欧美啪啪视频免码| 91系列在线观看| 国产精品白浆在线播放| 国产成人乱无码视频| 欧美另类一区| 亚洲精品大秀视频| 天堂va亚洲va欧美va国产| 中文字幕久久亚洲一区| 亚洲福利一区二区三区| 久久亚洲综合伊人| www.国产福利| 久久免费看片| 高清不卡毛片| 全部无卡免费的毛片在线看| 欧美日韩综合网| 在线观看视频一区二区| 又粗又大又爽又紧免费视频| 欧美中文字幕一区二区三区| 亚洲国产成人无码AV在线影院L| 欧美激情综合一区二区| 成人av专区精品无码国产| 欧美精品v欧洲精品| 四虎影视8848永久精品| 天天躁狠狠躁| 免费毛片全部不收费的| 久久国语对白| 久久婷婷人人澡人人爱91| 久久久久国产精品嫩草影院| 久久久久国产精品熟女影院| 免费国产在线精品一区| 人妻无码一区二区视频| 91国内在线观看| 国产精品开放后亚洲| 亚洲一区免费看| 亚洲高清在线播放| 国产区网址| 一本综合久久| 亚洲天堂网在线观看视频| 99人妻碰碰碰久久久久禁片| 麻豆国产精品视频| 欧美五月婷婷| 亚洲欧美激情另类| 欧美五月婷婷| www.国产福利| 毛片一级在线| 成年网址网站在线观看| 97精品伊人久久大香线蕉| 91视频国产高清| 欧美α片免费观看| 丁香婷婷久久| 色婷婷综合在线| 免费人成视频在线观看网站| 欧美在线黄| 91精品国产自产在线观看| 天天综合亚洲| 另类综合视频| 亚洲国产精品日韩欧美一区| 午夜福利视频一区| 成人在线综合| 国产精品久久久久久久久久98| 久久精品无码国产一区二区三区| 不卡午夜视频| 欧美成人手机在线观看网址|