[發(fā)明專利]基于STM32F4芯片的串口數(shù)據(jù)接收、發(fā)送、傳輸裝置及方法有效
| 申請(qǐng)?zhí)枺?/td> | 201510925194.0 | 申請(qǐng)日: | 2015-12-10 |
| 公開(公告)號(hào): | CN106874226B | 公開(公告)日: | 2020-05-12 |
| 發(fā)明(設(shè)計(jì))人: | 魏琳 | 申請(qǐng)(專利權(quán))人: | 重慶川儀自動(dòng)化股份有限公司 |
| 主分類號(hào): | G06F13/32 | 分類號(hào): | G06F13/32;G06F13/42 |
| 代理公司: | 上海光華專利事務(wù)所(普通合伙) 31219 | 代理人: | 余明偉 |
| 地址: | 400700*** | 國省代碼: | 重慶;50 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 stm32f4 芯片 串口 數(shù)據(jù) 接收 發(fā)送 傳輸 裝置 方法 | ||
本發(fā)明提供一種基于STM32F4芯片的串口數(shù)據(jù)接收、發(fā)送、傳輸裝置及方法,包括以下步驟:11)將STM32F4芯片的串口配置為DMA接收模式;12)開啟串口空閑中斷;13)接收數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù),并在一次完整的數(shù)據(jù)接收結(jié)束時(shí)觸發(fā)所述串口空閑中斷,暫停數(shù)據(jù)接收并記錄數(shù)據(jù)接收長(zhǎng)度。本發(fā)明通過將串口采用DMA方式傳輸(發(fā)送及接收)數(shù)據(jù),只在數(shù)據(jù)傳輸開始時(shí)及數(shù)據(jù)傳輸結(jié)束后分別使用CPU進(jìn)行處理一次,使得CPU不用耗費(fèi)在數(shù)據(jù)傳輸上,讓CPU有更多時(shí)間完成其他處理,大大提升了CPU的處理速度;同時(shí),將DMA中斷與串口空閑中斷相結(jié)合,可以實(shí)現(xiàn)不定長(zhǎng)數(shù)據(jù)的傳輸,相較于現(xiàn)有的其他傳輸方法更加便捷有效。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,特別是涉及一種基于STM32F4芯片的串口數(shù)據(jù)接收、發(fā)送、傳輸裝置及方法。
背景技術(shù)
在芯片的工作過程中,芯片與芯片之間,以及芯片與其他設(shè)備之間的數(shù)據(jù)傳輸一般通過串口實(shí)現(xiàn),在現(xiàn)有的串口數(shù)據(jù)傳輸中,尤其是串口大數(shù)據(jù)傳輸?shù)倪^程中,數(shù)據(jù)的傳輸與中斷通過串口中斷來控制,然而,使用串口中斷控制數(shù)據(jù)的傳輸時(shí),每次有數(shù)據(jù)傳輸完成觸發(fā)串口中斷后,均需要CPU處理串口中斷才能進(jìn)行下一次傳輸,這樣會(huì)不斷打斷CPU對(duì)其他信息的處理,使得CPU被長(zhǎng)時(shí)間耗費(fèi)在數(shù)據(jù)傳輸上,大大影響了CPU對(duì)其他信息的處理速度。
發(fā)明內(nèi)容
鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種基于STM32F4芯片的串口數(shù)據(jù)接收方法,用于解決現(xiàn)有技術(shù)中采用串口中斷控制數(shù)據(jù)傳輸而導(dǎo)致的影響CPU對(duì)其他信息的處理,使得CPU被長(zhǎng)時(shí)間耗費(fèi)在數(shù)據(jù)傳輸上,大大影響了CPU對(duì)其他信息的處理速度的問題。
為實(shí)現(xiàn)上述目的的他相關(guān)目的,本發(fā)明提供一種基于STM32F4芯片的串口數(shù)據(jù)接收方法,所述方法包括以下步驟:
11)將STM32F4芯片的串口配置為DMA接收模式;
12)開啟串口空閑中斷;
13)接收數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù),并在一次完整的數(shù)據(jù)接收結(jié)束時(shí)觸發(fā)所述串口空閑中斷,暫停數(shù)據(jù)接收并記錄數(shù)據(jù)接收長(zhǎng)度。
作為本發(fā)明的基于STM32F4芯片的串口數(shù)據(jù)接收方法的一種優(yōu)選方案,步驟13)中,接收數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù)的同時(shí),還包括將接收的數(shù)據(jù)保存至緩存單元的步驟。
作為本發(fā)明的基于STM32F4芯片的串口數(shù)據(jù)接收方法的一種優(yōu)選方案,步驟13)之后,還包括
14)使用CPU處理觸發(fā)的所述串口空閑中斷,以重新開啟所述串口空閑中斷,并在重新開啟所述串口空閑中斷之后釋放所述CPU。
作為本發(fā)明的基于STM32F4芯片的串口數(shù)據(jù)接收方法的一種優(yōu)選方案,步驟12)中,開啟串口空閑中斷的同時(shí),開啟DMA接收中斷;步驟14)之后,還包括重復(fù)步驟13)至步驟14)若干次,直至數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù)被完全接收后觸發(fā)DMA接收中斷,數(shù)據(jù)接收完成。
作為本發(fā)明的基于STM32F4芯片的串口數(shù)據(jù)接收方法的一種優(yōu)選方案,步驟12)中,使用CPU開啟所述串口空閑中斷及所述DMA接收中斷,并在開啟所述串口空閑中斷及所述DMA接收中斷后釋放所述CPU。
本發(fā)明還提供一種基于STM32F4芯片的串口數(shù)據(jù)發(fā)送方法,所述方法包括以下步驟:
21)將STM32F4芯片的串口配置為DMA發(fā)送模式;
22)開啟DMA發(fā)送中斷;
23)將如上述方案中任一項(xiàng)所述的接收方法接收的數(shù)據(jù)依據(jù)長(zhǎng)度的不同分為不同的數(shù)組,并將所述不同數(shù)組中的數(shù)據(jù)提取至相應(yīng)的寄存器;
24)將提取至所述寄存器中的一數(shù)組的數(shù)據(jù)發(fā)送至數(shù)據(jù)接收端,并在該數(shù)組的數(shù)據(jù)發(fā)送完畢后觸發(fā)所述DMA發(fā)送中斷,暫停數(shù)據(jù)的發(fā)送。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于重慶川儀自動(dòng)化股份有限公司,未經(jīng)重慶川儀自動(dòng)化股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510925194.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 適于機(jī)電專業(yè)的混合信號(hào)檢測(cè)處理實(shí)驗(yàn)裝置
- 適于機(jī)電專業(yè)的混合信號(hào)檢測(cè)處理實(shí)驗(yàn)裝置
- 基于STM32F4控制器的程序遠(yuǎn)程下載的實(shí)現(xiàn)方法
- 一種內(nèi)燃機(jī)車車載控制器
- 一種高集成度高功率密度的智能交流伺服驅(qū)動(dòng)器
- 一種高集成度高功率密度的智能交流伺服驅(qū)動(dòng)器
- 一種LED線陣顯示裝置
- 一種LED線陣顯示裝置
- 基于STM32F4的多功能運(yùn)動(dòng)控制器
- 基于STM32F4的多功能運(yùn)動(dòng)控制方法
- 串口服務(wù)器
- 一種控制外圍串口設(shè)備的方法、系統(tǒng)及控制設(shè)備
- 串口測(cè)試方法、系統(tǒng)和裝置
- 串口設(shè)備的串口設(shè)定裝置及其方法
- 一種串口數(shù)據(jù)的處理方法、裝置及智能影音設(shè)備
- 一種串口號(hào)自定義重配方法和裝置
- 串口測(cè)試方法、裝置、通訊管理機(jī)和存儲(chǔ)介質(zhì)
- 一種串口級(jí)聯(lián)調(diào)控方法及串口設(shè)備
- 一種調(diào)試串口和數(shù)據(jù)串口復(fù)用的方法、裝置和控制器
- 一種串口通訊方法、裝置、終端設(shè)備及存儲(chǔ)介質(zhì)





