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芯 ...
【技术保护点】
一种基于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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。