1 void _UART2_Configuration(void)
2 {
3 USART_InitTypeDef USART_InitStructure;
4
5 USART_OverSampling8Cmd(USART2, ENABLE);
6 USART_InitStructure.USART_BaudRate = 19200;
7 USART_InitStructure.USART_WordLength = USART_WordLength_8b;
8 USART_InitStructure.USART_StopBits = USART_StopBits_1;
9 USART_InitStructure.USART_Parity = USART_Parity_No;
10 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
11 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
12 USART_Init(USART2, &USART_InitStructure);
13
14 USART_DMACmd(USART2, USART_DMAReq_Rx, ENABLE);
15
16 DMA_Cmd(DMA1_Stream5, ENABLE);
17
18 USART_Cmd(USART2, ENABLE);
19 }
20
21 void _DMA_Configuration(void)
22 {
23 DMA_InitTypeDef DMA_InitStructure;
24  DMA_InitStructure.DMA_Channel = DMA_Channel_4;
25 DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&(USART2->DR);
26 DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)_Compass_Value;
27 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
28 DMA_InitStructure.DMA_BufferSize = 3;
29 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
30 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
31 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
32 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
33 DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
34 DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;
35 DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;
36 DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;
37 DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
38 DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
39 DMA_Init(DMA1_Stream5, &DMA_InitStructure);
40
41 /* DMA2_Stream0 enable */
42 DMA_Cmd(DMA1_Stream5, ENABLE);
43 }

STM32F4库函数初始化系列:DMA串口接收的更多相关文章

  1. STM32 串口DMA方式接收(转)

    STM32 是一款基于ARM Cortex-M3内核的32位MCU,主频最高可达72M.最近因为要在车机上集成TPMS功能, 便开始着手STM32的开发工作,STM32F10x系列共有5个串口(USA ...

  2. STM32串口接收不定长数据原理与源程序(转)

    今天说一下STM32单片机的接收不定长度字节数据的方法.由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的A ...

  3. stm32的串口接收字符串以十六进制数

      #include "pbdata.h"   uint8_t TxBuffer1[] = "USART Interrupt Example: This isUSART1 ...

  4. STM32 HAL库使用中断实现串口接收不定长数据

    以前用DMA实现接收不定长数据,DMA的方法接收串口助手的数据,全部没问题,不过如果接收模块返回的数据,而这些数据如果包含回车换行的话就会停止接收,例如接收:AT\r\nOK\r\n,就只能接收到AT ...

  5. AVR单片机教程——串口接收

    本文隶属于AVR单片机教程系列.   上一讲中,我们实现了单片机开发板向电脑传输数据.在这一讲中,我们将通过电脑向单片机发送指令,让单片机根据指令控制LED.这一次,两端的TX与RX需要交叉连接,单片 ...

  6. STM32 ucosii 串口接收数据 遇到的问题及解决思路

    写一个程序,用到了ucos ii ,串口在中断中接收数据(一包数据 8个字节 包含: 1byte包头 5byte数据 1byte校验和 1byte 包尾 ) ,数据由上位机每隔500ms发送一次,在串 ...

  7. 基于Verilog的带FIFO输出缓冲的串口接收接口封装

    一.模块框图及基本思路 rx_module:串口接收的核心模块,详细介绍请见“基于Verilog的串口接收实验” rx2fifo_module:rx_module与rx_fifo之间的控制模块,其功能 ...

  8. [转]C# serialPort 串口接收中this.Invoke的使用

    本文转自:https://blog.csdn.net/hjk216/article/details/72677596 转载地址:http://www.ciast.net/post/20160752.h ...

  9. 基于Verilog的串口接收程序

    一.模块框图及基本思路 detect_module:检测输入引脚的下降沿,以此判断一帧数据的开始 rx_bps_module:波特率时钟产生模块 rx_control_module:串口接收的核心控制 ...

  10. 2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片 解决串口接收数据丢字节丢包问题

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9490616.html 本文用的是VS2013MFC写串口数据接收: 第一步:首先建立一个MFC ...

随机推荐

  1. 2.3 Goland快捷键

    1 新建 Alt + Insert Alt + Enter 2 移动 Alt + 上下箭头:以函数为单位移动 Ctrl + G : 定位到行 Ctrl + W :可以选择单词继而语句继而行继而函数Ct ...

  2. extern "C"的使用

    在使用C++开发程序时,有时使用到别人开发的第三方库,而这第三库是使用C开发的.直接使用会报错如下: cpp error LNK2019: 无法解析的外部符号 "int __cdecl su ...

  3. i春秋象棋

    这是一道非常有意思的一道题,打开后就是一个pve的象棋游戏,我觉得下赢了就应该会出现flag,可惜多次尝试后失败了(果真有点厉害,我一时兴起就玩了好几把,有空试试拿更厉害的电脑跟他对下,如果赢了会怎么 ...

  4. 前后端结合解决Excel海量公式计算的性能问题

    背景 在数据密集的业务领域,尤其是金融,保险,税务等行业中,经常需要利用Excel模型,来对业务进行分析和处理.例如: 1.金融投资: 根据模型进行估值计算,并对投资风险进行评估,通过测算出投资的内部 ...

  5. JDK 8 Stream 流 用 法

    import com.entity.Person;import org.junit.Test;import java.util.*;import java.util.function.Function ...

  6. SqlServer 联合Update

    --1.创建一个备份表: select * into Users_Bak from Users --2.依据某个表进行更新: update Users_Bak set Users_Bak.Mobile ...

  7. 在Windows模拟器中使用LVGL8.3

    引言 LVGL是一个跨平台.轻量级.易于移植的图形库.也因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的差异性,相关的使用教程有一定的滞后性,由于缺少最新版本的中文教 ...

  8. 百倍加速IO读写!快使用Parquet和Feather格式!⛵

    作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 本文地址:https://www.showmeai.tech/artic ...

  9. YonBuilder移动开发平台功能大盘点

    YonBuilder是面向企业组织和个人开发者的低代码开发平台,实现无代码.低代码.专业代码开发三种模式.提供元数据驱动和画布构建两种开发方式,通过点击拖拽+自动化代码生成和移动多端编译的技术,与开放 ...

  10. 手动解析word Table模块内容

    最近来了一个需求, 需要手动解析word ( 好处就是不需要安装office 以及不会有office解析的线程残留),然后就是可以自定义解析规则,比较方便 比如解析这个word里面的内容: 标题,表格 ...