The invention provides a STM32F4 serial data receiver chip, based on sending and transmitting device and method, which comprises the following steps: 11) the STM32F4 chip serial configuration for DMA receiving mode; 12) to open the serial port interrupt idle; 13) to receive data sent by the sending terminal data, and a complete data receiving end trigger the serial port interrupt idle, suspend the data receiving and recording data receiving length. The serial port using DMA transmission (send and receive) data, only at the beginning of a data transmission and data transmission respectively after the treatment with CPU at a time, making the CPU without the expense of data transmission in CPU, to have more time to complete other processing, greatly improves the processing speed of CPU; at the same time. The DMA interrupt combined with free serial interrupt, can be achieved without fixed length data transmission, compared with other existing transmission method is more convenient and effective.
【技術實現步驟摘要】
基于STM32F4芯片的串口數據接收、發送、傳輸裝置及方法
本專利技術涉及數據傳輸領域,特別是涉及一種基于STM32F4芯片的串口數據接收、發送、傳輸裝置及方法。
技術介紹
在芯片的工作過程中,芯片與芯片之間,以及芯片與其他設備之間的數據傳輸一般通過串口實現,在現有的串口數據傳輸中,尤其是串口大數據傳輸的過程中,數據的傳輸與中斷通過串口中斷來控制,然而,使用串口中斷控制數據的傳輸時,每次有數據傳輸完成觸發串口中斷后,均需要CPU處理串口中斷才能進行下一次傳輸,這樣會不斷打斷CPU對其他信息的處理,使得CPU被長時間耗費在數據傳輸上,大大影響了CPU對其他信息的處理速度。
技術實現思路
鑒于以上所述現有技術的缺點,本專利技術的目的在于提供一種基于STM32F4芯片的串口數據接收方法,用于解決現有技術中采用串口中斷控制數據傳輸而導致的影響CPU對其他信息的處理,使得CPU被長時間耗費在數據傳輸上,大大影響了CPU對其他信息的處理速度的問題。為實現上述目的的他相關目的,本專利技術提供一種基于STM32F4芯片的串口數據接收方法,所述方法包括以下步驟:11)將STM32F4芯片的串口配置為DMA接收模式;12)開啟串口空閑中斷;13)接收數據發送端發送的數據,并在一次完整的數據接收結束時觸發所述串口空閑中斷,暫停數據接收并記錄數據接收長度。作為本專利技術的基于STM32F4芯片的串口數據接收方法的一種優選方案,步驟13)中,接收數據發送端發送的數據的同時,還包括將接收的數據保存至緩存單元的步驟。作為本專利技術的基于STM32F4芯片的串口數據接收方法的一種優選方案,步 ...
【技術保護點】
一種基于STM32F4芯片的串口數據接收方法,其特征在于,所述方法包括以下步驟:11)將STM32F4芯片的串口配置為DMA接收模式;12)開啟串口空閑中斷;13)接收數據發送端發送的數據,并在一次完整的數據接收結束時觸發所述串口空閑中斷,暫停數據接收并記錄數據接收長度。
【技術特征摘要】
1.一種基于STM32F4芯片的串口數據接收方法,其特征在于,所述方法包括以下步驟:11)將STM32F4芯片的串口配置為DMA接收模式;12)開啟串口空閑中斷;13)接收數據發送端發送的數據,并在一次完整的數據接收結束時觸發所述串口空閑中斷,暫停數據接收并記錄數據接收長度。2.根據權利要求1所述的基于STM32F4芯片的串口數據接收方法,其特征在于:步驟13)中,接收數據發送端發送的數據的同時,還包括將接收的數據保存至緩存單元的步驟。3.根據權利要求1所述的基于STM32F4芯片的串口數據接收方法,其特征在于:步驟13)之后,還包括14)使用CPU處理觸發的所述串口空閑中斷,以重新開啟所述串口空閑中斷,并在重新開啟所述串口空閑中斷之后釋放所述CPU。4.根據權利要求3所述的基于STM32F4芯片的串口數據接收方法,其特征在于:步驟12)中,開啟串口空閑中斷的同時,開啟DMA接收中斷;步驟14)之后,還包括重復步驟13)至步驟14)若干次,直至數據發送端發送的數據被完全接收后觸發DMA接收中斷,數據接收完成。5.根據權利要求4所述的基于STM32F4芯片的串口數據接收方法,其特征在于:步驟12)中,使用CPU開啟所述串口空閑中斷及所述DMA接收中斷,并在開啟所述串口空閑中斷及所述DMA接收中斷后釋放所述CPU。6.一種基于STM32F4芯片的串口數據發送方法,其特征在于,所述方法包括以下步驟:21)將STM32F4芯片的串口配置為DMA發送模式;22)開啟DMA發送中斷;23)將如權利要求1至5中任一項所述的接收方法接收的數據依據長度的不同分為不同的數組,并將所述不同數組中的數據提取至相應的寄存器;24)將提取至所述寄存器中的一數組的數據發送至數據接收端,并在該數組的數據發送完畢后觸發所述DMA發送中斷,暫停數據的發送。7.根據權利要求6所述的基于STM32F4芯片的串口數據發送方法,其特征在于:步驟22)中,使用CPU開啟所述DMA發送中斷,并在開啟所述DMA發送中斷后釋放所述CPU。8.根據權利要求6所述的基于STM32F4芯片的串口數據發送方法,其特征在于:步驟24)之后,還包括25)使用CPU處理觸發的所述DMA發送中斷,以重新開啟所述DMA發送中斷,并在重新開啟所述DMA發送中斷之后釋放所述CPU。9.根據權利要求8所述的基于STM32F4芯片的串口數據發送方法,其特征在于:步驟25)之后,還包括重復步驟23)至步驟24)若干次,直至將提取至所述寄存器中的所有數...
【專利技術屬性】
技術研發人員:魏琳,
申請(專利權)人:重慶川儀自動化股份有限公司,
類型:發明
國別省市:重慶,50
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。