CN106874226B - 基于stm32f4芯片的串口数据接收、发送、传输装置及方法 - Google Patents

基于stm32f4芯片的串口数据接收、发送、传输装置及方法 Download PDF

Info

Publication number
CN106874226B
CN106874226B CN201510925194.0A CN201510925194A CN106874226B CN 106874226 B CN106874226 B CN 106874226B CN 201510925194 A CN201510925194 A CN 201510925194A CN 106874226 B CN106874226 B CN 106874226B
Authority
CN
China
Prior art keywords
data
serial port
dma
receiving
interruption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510925194.0A
Other languages
English (en)
Other versions
CN106874226A (zh
Inventor
魏琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Chuanyi Automation Co Ltd
Original Assignee
Chongqing Chuanyi Automation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Chuanyi Automation Co Ltd filed Critical Chongqing Chuanyi Automation Co Ltd
Priority to CN201510925194.0A priority Critical patent/CN106874226B/zh
Publication of CN106874226A publication Critical patent/CN106874226A/zh
Application granted granted Critical
Publication of CN106874226B publication Critical patent/CN106874226B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA

Abstract

本发明提供一种基于STM32F4芯片的串口数据接收、发送、传输装置及方法,包括以下步骤:11)将STM32F4芯片的串口配置为DMA接收模式;12)开启串口空闲中断;13)接收数据发送端发送的数据,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度。本发明通过将串口采用DMA方式传输(发送及接收)数据,只在数据传输开始时及数据传输结束后分别使用CPU进行处理一次,使得CPU不用耗费在数据传输上,让CPU有更多时间完成其他处理,大大提升了CPU的处理速度;同时,将DMA中断与串口空闲中断相结合,可以实现不定长数据的传输,相较于现有的其他传输方法更加便捷有效。

Description

基于STM32F4芯片的串口数据接收、发送、传输装置及方法
技术领域
本发明涉及数据传输领域,特别是涉及一种基于STM32F4芯片的串口数据接收、发送、传输装置及方法。
背景技术
在芯片的工作过程中,芯片与芯片之间,以及芯片与其他设备之间的数据传输一般通过串口实现,在现有的串口数据传输中,尤其是串口大数据传输的过程中,数据的传输与中断通过串口中断来控制,然而,使用串口中断控制数据的传输时,每次有数据传输完成触发串口中断后,均需要CPU处理串口中断才能进行下一次传输,这样会不断打断CPU对其他信息的处理,使得CPU被长时间耗费在数据传输上,大大影响了CPU对其他信息的处理速度。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于STM32F4芯片的串口数据接收方法,用于解决现有技术中采用串口中断控制数据传输而导致的影响CPU对其他信息的处理,使得CPU被长时间耗费在数据传输上,大大影响了CPU对其他信息的处理速度的问题。
为实现上述目的的他相关目的,本发明提供一种基于STM32F4芯片的串口数据接收方法,所述方法包括以下步骤:
11)将STM32F4芯片的串口配置为DMA接收模式;
12)开启串口空闲中断;
13)接收数据发送端发送的数据,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度。
作为本发明的基于STM32F4芯片的串口数据接收方法的一种优选方案,步骤13)中,接收数据发送端发送的数据的同时,还包括将接收的数据保存至缓存单元的步骤。
作为本发明的基于STM32F4芯片的串口数据接收方法的一种优选方案,步骤13)之后,还包括
14)使用CPU处理触发的所述串口空闲中断,以重新开启所述串口空闲中断,并在重新开启所述串口空闲中断之后释放所述CPU。
作为本发明的基于STM32F4芯片的串口数据接收方法的一种优选方案,步骤12)中,开启串口空闲中断的同时,开启DMA接收中断;步骤14)之后,还包括重复步骤13)至步骤14)若干次,直至数据发送端发送的数据被完全接收后触发DMA接收中断,数据接收完成。
作为本发明的基于STM32F4芯片的串口数据接收方法的一种优选方案,步骤12)中,使用CPU开启所述串口空闲中断及所述DMA接收中断,并在开启所述串口空闲中断及所述DMA接收中断后释放所述CPU。
本发明还提供一种基于STM32F4芯片的串口数据发送方法,所述方法包括以下步骤:
21)将STM32F4芯片的串口配置为DMA发送模式;
22)开启DMA发送中断;
23)将如上述方案中任一项所述的接收方法接收的数据依据长度的不同分为不同的数组,并将所述不同数组中的数据提取至相应的寄存器;
24)将提取至所述寄存器中的一数组的数据发送至数据接收端,并在该数组的数据发送完毕后触发所述DMA发送中断,暂停数据的发送。
作为本发明的基于STM32F4芯片的串口数据发送方法的一种优选方案,步骤22)中,使用CPU开启所述DMA发送中断,并在开启所述DMA发送中断后释放所述CPU。
作为本发明的基于STM32F4芯片的串口数据发送方法的一种优选方案,步骤24)之后,还包括
25)使用CPU处理触发的所述DMA发送中断,以重新开启所述DMA发送中断,并在重新开启所述DMA发送中断之后释放所述CPU。
作为本发明的基于STM32F4芯片的串口数据发送方法的一种优选方案,步骤25)之后,还包括重复步骤23)至步骤24)若干次,直至将提取至所述寄存器中的所有数组的数据全部发送至数据接收端。
本发明还提供一种基于STM32F4芯片的串口数据传输方法,所述数据传输方法包括数据接收方法及数据发送方法;
所述数据接收方法包括以下步骤:
11)将STM32F4芯片的串口配置为DMA接收模式;
12)使用CPU开启串口空闲中断及DMA接收中断;
13)接收数据发送端发送的数据,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度;
14)使用CPU处理触发的所述串口空闲中断,以重新开启所述串口空闲中断;
15)重复步骤13)至步骤14)若干次,直至数据发送端发送的数据被完全接收后触发DMA接收中断,数据接收完成;
所述数据发送方法包括以下步骤:
21)使用CPU开启DMA发送中断;
22)将所述数据接收方法接收到的数据依据长度的不同分为不同的数组,并将所述不同数组中的数据提取至相应的寄存器;
23)将提取至所述寄存器中的一数组的数据发送至数据接收端,并在该数组的数据发送完毕后触发所述DMA发送中断,暂停数据的发送;
24)使用CPU处理触发的所述DMA发送中断,以重新开启所述DMA发送中断;
25)重复步骤23)至步骤24)若干次,直至将提取至所述寄存器中的所有数组的数据全部发送至数据接收端。
作为本发明的基于STM32F4芯片的串口数据传输方法的一种优选方案,使用CPU开启所述串口空闲中断、所述DMA接收中断及所述DMA发送中断之后,以及使用CPU处理触发的所述串口空闲中断及触发所述DMA发送中断之后,均包括释放所述CPU的步骤。
本发明还提一种基于STM32F4芯片的串口数据传输装置,所述装置包括:STM32F4芯片的串口、DMA控制器及CPU;
所述STM32F4芯片的串口与数据发送端及数据接收端电连接,适于接收及所述数据发送端发送的数据,并将接收的数据保存至缓存单元,并适于将接收的数据发送至所述数据接收端;
所述DMA控制器与所述STM32F4芯片的串口,适于设定串口空闲中断、DMA接收中断及DMA发送中断,将所述STM32F4芯片的串口依据长度的不同分为不同的数值并提取至相应的寄存器,控制所述STM32F4芯片的串口以DMA传输模式接收及发送数据,并在所述STM32F4芯片的串口接收的数据达到所需的长度时触发串口空闲中断、在所述数据发送端发送的数据被完全接收后触发DMA接收中断及在发送一定长度的数组数据之后触发DMA发送中断;
所述CPU与所述DMA控制器电连接,适于控制所述串口空闲中断、所述DMA接收中断及所述DMA发送中断的开启。
如上所述,本发明的基于STM32F4芯片的串口数据接收、发送、传输装置及方法,具有以下有益效果:将串口采用DMA方式传输(发送及接收)数据,只在数据传输开始时及数据传输结束后分别使用CPU进行处理一次,使得CPU不用耗费在数据传输上,让CPU有更多时间完成其他处理,大大提升了CPU的处理速度;同时,将DMA中断与串口空闲中断相结合,可以实现不定长数据的传输,相较于现有的其他传输方法更加便捷有效。
附图说明
图1显示为本发明实施例一中提供的基于STM32F4芯片的串口数据接收方法的流程图。
图2显示为本发明实施例二中提供的基于STM32F4芯片的串口数据发送方法的流程图。
图3显示为本发明实施例三中的基于STM32F4芯片的串口数据传输装置的结构示意图。
元件标号说明
1 STM32F4芯片的串口
2 DMA控制器
3 CPU
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1至图3需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,虽图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
请参阅图1,本发明提供一种基于STM32F4芯片的串口数据接收方法,所述基于STM32F4芯片的串口数据接收方法包括以下步骤:
11)将STM32F4芯片的串口配置为DMA(Direct Memory Access,直接存储器访问)接收模式;
12)开启串口空闲中断;
13)接收数据发送端发送的数据,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度。
作为示例,步骤11)中,使用DMA控制器将STM32F4芯片的串口配置为DMA接收模式,所述DMA控制器中预先设定串口空闲中断及DMA接收中断,用于控制接收数据的长度,以根据需要接收不定长的数据。
作为示例,步骤13)中,所述串口接收数据发送端发送的数据的同时,将接收的数据保存至一缓存单元。
步骤13)完成之后,即完成了一次完整的数据接收,所述串口空闲中断之后,数据的接收被禁止,但由于数据发送端需要发送的数据需要多次数据接收才能完成,因此在步骤13)之后,还包括:
14)使用CPU处理触发的所述串口空闲中断,以重新开启所述串口空闲中断,并在重新开启所述串口空闲中断之后释放所述CPU。需要说明的是,此处所述释放CPU可以为断开所述CPU与所述DMA控制器的连接。使用CPU处理触发的所述串口空闲中断,重新开启所述串口空闲中断,使得串口又处于等待接收数据的状态,为下一次数据接收做好准备;在重新开启所述串口空闲中断之后释放所述CPU,保证了所述CPU不用耗费在数据传输上,让所述CPU有更多时间完成其他处理,可以大大提升所述CPU的处理速度。
作为示例,步骤14)之后,还包括重复步骤13)至步骤14)若干次,直至数据发送端发送的数据被完全接收后触发DMA接收中断,数据接收完成。
作为示例,步骤12)中,使用CPU开启所述串口空闲中断及所述DMA接收中断,并在开启所述串口空闲中断及所述DMA接收中断后释放所述CPU。同理,开启所述串口空闲中断及所述DMA接收中断后释放所述CPU,保证了所述CPU不用耗费在数据传输上,让所述CPU有更多时间完成其他处理,可以大大提升所述CPU的处理速度。
由上述可知,将串口采用DMA方式接收数据,只在数据接收开始时及数据接收结束后分别使用CPU进行处理一次,使得CPU不用耗费在数据传输上,让CPU有更多时间完成其他处理,大大提升了CPU的处理速度;同时,在数据的接收过程中,将DMA中断与串口空闲中断相结合,可以实现不定长数据的传输,相较于现有的其他传输方法更加便捷有效。
实施例二
请参阅图2,本发明还提供一种基于STM32F4芯片的串口数据发送方法,所述方法包括以下步骤:
21)将STM32F4芯片的串口配置为DMA发送模式;
22)开启DMA发送中断;
23)将实施例一中所述的接收方法接收的数据依据长度的不同分为不同的数组,并将所述不同数组中的数据提取至相应的寄存器;
24)将提取至所述寄存器中的一数组的数据发送至数据接收端,并在该数组的数据发送完毕后触发所述DMA发送中断,暂停数据的发送。
作为示例,步骤22)中,使用CPU开启所述DMA发送中断,并在开启所述DMA发送中断后释放所述CPU。在开启所述DMA发送中断后释放所述CPU,保证了所述CPU不用耗费在数据传输上,让所述CPU有更多时间完成其他处理,可以大大提升所述CPU的处理速度。
步骤24)完成之后,即完成了一个数组的数据的发送,所述DMA发送中断之后,数据的发送被禁止,但由于需要发送的数据包括多个不同长度的数组数据,需要多次数据发送才能完成,因此在步骤24)之后,还包括:
25)使用CPU处理触发的所述DMA发送中断,以重新开启所述DMA发送中断,并在重新开启所述DMA发送中断之后释放所述CPU。
使用CPU处理触发的所述DMA发送中断,重新开启所述DMA发送中断,使得串口又处于等待发送数据的状态,为下一次数据发送做好准备;在重新开启所述DMA发送中断之后释放所述CPU,保证了所述CPU不用耗费在数据传输上,让所述CPU有更多时间完成其他处理,可以大大提升所述CPU的处理速度。
作为示例,步骤25)之后,还包括重复步骤23)至步骤24)若干次,直至将提取至所述寄存器中的所有数组的数据全部发送至数据接收端。
由上述可知,将串口采用DMA方式发送数据,只在数据发送开始时及数据发送结束后分别使用CPU进行处理一次,使得CPU不用耗费在数据传输上,让CPU有更多时间完成其他处理,大大提升了CPU的处理速度。
实施例三
本发明还提供一种基于STM32F4芯片的串口数据传输方法,所述数据传输方法包括数据接收方法及数据发送方法;
所述数据接收方法包括以下步骤:
11)将STM32F4芯片的串口配置为DMA接收模式;
12)使用CPU开启串口空闲中断及DMA接收中断;
13)接收数据发送端发送的数据,在接收数据的同时,将接收的数据保存至一缓存单元,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度;
14)使用CPU处理触发的所述串口空闲中断,以重新开启所述串口空闲中断,等待下一次数据接收;
15)重复步骤13)至步骤14)若干次,直至数据发送端发送的数据被完全接收后触发DMA接收中断,数据接收完成;
所述数据发送方法包括以下步骤:
21)使用CPU开启DMA发送中断;
22)将所述数据接收方法接收到的数据依据长度的不同分为不同的数组,并将所述不同数组中的数据提取至相应的寄存器;
23)将提取至所述寄存器中的一数组的数据发送至数据接收端,并在该数组的数据发送完毕后触发所述DMA发送中断,暂停数据的发送;
24)使用CPU处理触发的所述DMA发送中断,以重新开启所述DMA发送中断,等待下一次数据发送;
25)重复步骤23)至步骤24)若干次,直至将提取至所述寄存器中的所有数组的数据全部发送至数据接收端。
作为示例,用CPU开启所述串口空闲中断、所述DMA接收中断及所述DMA发送中断之后,以及使用CPU处理触发的所述串口空闲中断及触发所述DMA发送中断之后,均包括释放所述CPU的步骤。
实施例四
请参阅图3,本发明还提一种基于STM32F4芯片的串口数据传输装置,所述装置包括:STM32F4芯片的串口1、DMA控制器2及CPU3;
所述STM32F4芯片的串口1与数据发送端(未示出)及数据接收端(未示出)电连接,适于接收及所述数据发送端发送的数据,并将接收的数据保存至缓存单元(未示出),并适于将接收的数据发送至所述数据接收端;
所述DMA控制器2与所述STM32F4芯片的串口1,适于设定串口空闲中断、DMA接收中断及DMA发送中断,将所述STM32F4芯片的串口1依据长度的不同分为不同的数值并提取至相应的寄存器(未示出),控制所述STM32F4芯片的串口1以DMA传输模式接收及发送数据,并在所述STM32F4芯片的串口1接收的数据达到所需的长度时触发串口空闲中断、在所述数据发送端发送的数据被完全接收后触发DMA接收中断及在发送一定长度的数组数据之后触发DMA发送中断;
所述CPU3与所述DMA控制器2电连接,适于控制所述串口空闲中断、所述DMA接收中断及所述DMA发送中断的开启。
作为示例,所述CPU3在数据传输(接收及发送)之前开启串口空闲中断、DMA接收中断及DMA发送中断,并在串口空闲中断及DMA发送中断被触发后重新开启所述串口空闲中断及DMA发送中断。
综上所述,本发明提供一种基于STM32F4芯片的串口数据接收、发送、传输装置及方法,所述基于STM32F4芯片的串口数据接收方法包括以下步骤:11)将STM32F4芯片的串口配置为DMA接收模式;12)开启串口空闲中断;13)接收数据发送端发送的数据,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度。本发明通过将串口采用DMA方式传输(发送及接收)数据,只在数据传输开始时及数据传输结束后分别使用CPU进行处理一次,使得CPU不用耗费在数据传输上,让CPU有更多时间完成其他处理,大大提升了CPU的处理速度;同时,将DMA中断与串口空闲中断相结合,可以实现不定长数据的传输,相较于现有的其他传输方法更加便捷有效。
上述实施例仅例示性说明本发明的原理的功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (9)

1.一种基于STM32F4芯片的串口数据接收方法,其特征在于,所述方法包括以下步骤:
11)使用DMA控制器将STM32F4芯片的串口配置为DMA接收模式,所述DMA控制器中预先设定串口空闲中断及DMA接收中断,用于控制接收数据的长度,以根据需要接收不定长的数据;
12)使用CPU开启串口空闲中断及所述DMA接收中断,并在开启所述串口空闲中断及所述DMA接收中断后释放所述CPU;
13)接收数据发送端发送的数据,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度;
14)使用CPU处理触发的所述串口空闲中断,以重新开启所述串口空闲中断,并在重新开启所述串口空闲中断之后释放所述CPU。
2.根据权利要求1所述的基于STM32F4芯片的串口数据接收方法,其特征在于:步骤13)中,接收数据发送端发送的数据的同时,还包括将接收的数据保存至缓存单元的步骤。
3.根据权利要求1所述的基于STM32F4芯片的串口数据接收方法,其特征在于:步骤14)之后,还包括重复步骤13)至步骤14)若干次,直至数据发送端发送的数据被完全接收后触发DMA接收中断,数据接收完成。
4.一种基于STM32F4芯片的串口数据发送方法,其特征在于,所述方法包括以下步骤:
21)将STM32F4芯片的串口配置为DMA发送模式;
22)开启DMA发送中断;
23)将如权利要求1至3中任一项所述的接收方法接收的数据依据长度的不同分为不同的数组,并将所述不同数组中的数据提取至相应的寄存器;
24)将提取至所述寄存器中的一数组的数据发送至数据接收端,并在该数组的数据发送完毕后触发所述DMA发送中断,暂停数据的发送。
5.根据权利要求4所述的基于STM32F4芯片的串口数据发送方法,其特征在于:步骤22)中,使用CPU开启所述DMA发送中断,并在开启所述DMA发送中断后释放所述CPU。
6.根据权利要求4所述的基于STM32F4芯片的串口数据发送方法,其特征在于:步骤24)之后,还包括
25)使用CPU处理触发的所述DMA发送中断,以重新开启所述DMA发送中断,并在重新开启所述DMA发送中断之后释放所述CPU。
7.根据权利要求6所述的基于STM32F4芯片的串口数据发送方法,其特征在于:步骤25)之后,还包括重复步骤23)至步骤24)若干次,直至将提取至所述寄存器中的所有数组的数据全部发送至数据接收端。
8.一种基于STM32F4芯片的串口数据传输方法,其特征在于,包括数据接收方法及数据发送方法;
所述数据接收方法包括以下步骤:
11)将STM32F4芯片的串口配置为DMA接收模式;
12)使用CPU开启串口空闲中断及DMA接收中断;
13)接收数据发送端发送的数据,并在一次完整的数据接收结束时触发所述串口空闲中断,暂停数据接收并记录数据接收长度;
14)使用CPU处理触发的所述串口空闲中断,以重新开启所述串口空闲中断;
15)重复步骤13)至步骤14)若干次,直至数据发送端发送的数据被完全接收后触发DMA接收中断,数据接收完成;
所述数据发送方法包括以下步骤:
21)使用CPU开启DMA发送中断;
22)将所述数据接收方法接收到的数据依据长度的不同分为不同的数组,并将所述不同数组中的数据提取至相应的寄存器;
23)将提取至所述寄存器中的一数组的数据发送至数据接收端,并在该数组的数据发送完毕后触发所述DMA发送中断,暂停数据的发送;
24)使用CPU处理触发的所述DMA发送中断,以重新开启所述DMA 发送中断;
25)重复步骤23)至步骤24)若干次,直至将提取至所述寄存器中的所有数组的数据全部发送至数据接收端; 其中,使用CPU开启所述串口空闲中断、所述DMA接收中断及所述DMA发送中断之后,以及使用CPU处理触发的所述串口空闲中断及触发所述DMA发送中断之后,均包括释放所述CPU的步骤。
9.一种基于STM32F4芯片的串口数据传输装置,其特征在于,所述装置包括:
STM32F4芯片的串口、DMA控制器及CPU;
所述STM32F4芯片的串口与数据发送端及数据接收端电连接,适于接收及所述数据发送端发送的数据,并将接收的数据保存至缓存单元,并适于将接收的数据发送至所述数据接收端;
所述DMA控制器与所述STM32F4芯片的串口,适于设定串口空闲中断、DMA接收中断及DMA发送中断,将所述STM32F4芯片的串口依据长度的不同分为不同的数值并提取至相应的寄存器,控制所述STM32F4芯片的串口以DMA传输模式接收及发送数据,并在所述STM32F4芯片的串口接收的数据达到所需的长度时触发串口空闲中断、在所述数据发送端发送的数据被完全接收后触发DMA接收中断及在发送一定长度的数组数据之后触发DMA发送中断;
所述CPU与所述DMA控制器电连接,适于控制所述串口空闲中断、所述DMA接收中断及所述DMA发送中断的开启,在数据传输开始时及数据传输结束后使用CPU开启中断后释放CPU。
CN201510925194.0A 2015-12-10 2015-12-10 基于stm32f4芯片的串口数据接收、发送、传输装置及方法 Active CN106874226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510925194.0A CN106874226B (zh) 2015-12-10 2015-12-10 基于stm32f4芯片的串口数据接收、发送、传输装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510925194.0A CN106874226B (zh) 2015-12-10 2015-12-10 基于stm32f4芯片的串口数据接收、发送、传输装置及方法

Publications (2)

Publication Number Publication Date
CN106874226A CN106874226A (zh) 2017-06-20
CN106874226B true CN106874226B (zh) 2020-05-12

Family

ID=59178435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510925194.0A Active CN106874226B (zh) 2015-12-10 2015-12-10 基于stm32f4芯片的串口数据接收、发送、传输装置及方法

Country Status (1)

Country Link
CN (1) CN106874226B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109839866A (zh) * 2017-11-29 2019-06-04 中国科学院沈阳自动化研究所 一种用于自主潜水器的探测载荷设备的管理系统及方法
CN109976501A (zh) * 2017-12-28 2019-07-05 中移物联网有限公司 一种低功耗控制方法、装置、系统及存储介质
CN110099028B (zh) * 2018-01-30 2022-01-18 北京智云芯科技有限公司 一种串口数据传输的方法及装置
CN109062834B (zh) * 2018-06-19 2022-03-11 广州星雨光电设备有限公司 基于dma的spi通讯方法、电子设备、存储介质、装置
CN112131153B (zh) * 2020-09-15 2024-04-02 北京自动化控制设备研究所 一种使用arm处理器串口进行实时通讯的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04123160A (ja) * 1990-09-13 1992-04-23 Nec Corp 受信データ処理システム
CN1463114A (zh) * 2002-05-31 2003-12-24 华为技术有限公司 基于数字信号处理器同步串行接口的数据发送和接收方法
CN103176932A (zh) * 2011-12-23 2013-06-26 重庆重邮信科通信技术有限公司 一种dma数据传输方法及系统
CN104850517A (zh) * 2015-05-20 2015-08-19 杭州华三通信技术有限公司 一种dma传输报文数据的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04123160A (ja) * 1990-09-13 1992-04-23 Nec Corp 受信データ処理システム
CN1463114A (zh) * 2002-05-31 2003-12-24 华为技术有限公司 基于数字信号处理器同步串行接口的数据发送和接收方法
CN103176932A (zh) * 2011-12-23 2013-06-26 重庆重邮信科通信技术有限公司 一种dma数据传输方法及系统
CN104850517A (zh) * 2015-05-20 2015-08-19 杭州华三通信技术有限公司 一种dma传输报文数据的方法及装置

Also Published As

Publication number Publication date
CN106874226A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
CN106874226B (zh) 基于stm32f4芯片的串口数据接收、发送、传输装置及方法
US11151027B2 (en) Methods and apparatuses for requesting ready status information from a memory
US9934160B1 (en) Bit-mapped DMA and IOC transfer with dependency table comprising plurality of index fields in the cache for DMA transfer
US10108372B2 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
CN105677608B (zh) 一种多主rs485总线仲裁方法及系统
US20170315940A1 (en) Direct memory access descriptor processing
EP3529706A1 (en) Gpu remote communication with triggered operations
US20140244904A1 (en) Memory device and computer system
US11803490B2 (en) Apparatus and method for data transmission and readable storage medium
CN104699584A (zh) 一种pcie非透明桥性能测试的方法
CN102270029A (zh) 一种龙芯刀片主板热启动的方法
EP4002137A1 (en) Secure digital (sd) direct command for improving throughput with a reduced memory footprint
US20150378427A1 (en) Apparatuses and methods of entering unselected memories into a different power mode during multi-memory operation
CN104239249A (zh) Pci-e零拷贝dma数据传输方法
CN115248795A (zh) 高速外围组件互连(pcie)接口系统及其操作方法
US9343157B2 (en) Writing into an EEPROM on an I2C bus
US20130311699A1 (en) Operations using direct memory access
CN103838694B (zh) 一种fpga高速读取usb接口数据的方法
CN107291641B (zh) 用于计算单元的存储器直接访问控制装置及其运行方法
CN109189705B (zh) 一种usb扩展方法、装置、设备、存储介质及系统
WO2023155698A1 (zh) 基于半虚拟化设备的数据处理方法、装置和系统
WO2017181634A1 (zh) 延时控制设备、延时控制方法及电子装置
CN108228517B (zh) I3c电路设备、系统及通信方法
EP2393013B1 (en) Method and apparatus for wireless broadband systems direct data transfer
CN111597130B (zh) 用于仲裁对共享存储器的访问的方法以及对应的电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant