STM32F4库函数初始化系列:DMA串口接收
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串口接收的更多相关文章
- STM32 串口DMA方式接收(转)
STM32 是一款基于ARM Cortex-M3内核的32位MCU,主频最高可达72M.最近因为要在车机上集成TPMS功能, 便开始着手STM32的开发工作,STM32F10x系列共有5个串口(USA ...
- STM32串口接收不定长数据原理与源程序(转)
今天说一下STM32单片机的接收不定长度字节数据的方法.由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的A ...
- stm32的串口接收字符串以十六进制数
#include "pbdata.h" uint8_t TxBuffer1[] = "USART Interrupt Example: This isUSART1 ...
- STM32 HAL库使用中断实现串口接收不定长数据
以前用DMA实现接收不定长数据,DMA的方法接收串口助手的数据,全部没问题,不过如果接收模块返回的数据,而这些数据如果包含回车换行的话就会停止接收,例如接收:AT\r\nOK\r\n,就只能接收到AT ...
- AVR单片机教程——串口接收
本文隶属于AVR单片机教程系列. 上一讲中,我们实现了单片机开发板向电脑传输数据.在这一讲中,我们将通过电脑向单片机发送指令,让单片机根据指令控制LED.这一次,两端的TX与RX需要交叉连接,单片 ...
- STM32 ucosii 串口接收数据 遇到的问题及解决思路
写一个程序,用到了ucos ii ,串口在中断中接收数据(一包数据 8个字节 包含: 1byte包头 5byte数据 1byte校验和 1byte 包尾 ) ,数据由上位机每隔500ms发送一次,在串 ...
- 基于Verilog的带FIFO输出缓冲的串口接收接口封装
一.模块框图及基本思路 rx_module:串口接收的核心模块,详细介绍请见“基于Verilog的串口接收实验” rx2fifo_module:rx_module与rx_fifo之间的控制模块,其功能 ...
- [转]C# serialPort 串口接收中this.Invoke的使用
本文转自:https://blog.csdn.net/hjk216/article/details/72677596 转载地址:http://www.ciast.net/post/20160752.h ...
- 基于Verilog的串口接收程序
一.模块框图及基本思路 detect_module:检测输入引脚的下降沿,以此判断一帧数据的开始 rx_bps_module:波特率时钟产生模块 rx_control_module:串口接收的核心控制 ...
- 2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片 解决串口接收数据丢字节丢包问题
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9490616.html 本文用的是VS2013MFC写串口数据接收: 第一步:首先建立一个MFC ...
随机推荐
- linux子网掩码修改记录
1.输入密码进入linux,并且进入root2.输入ifconfig.返回网卡信息,释:其中eno1为当前以太网名称.Inet IP/子网掩码位置数 Bcast广播地址 或者mask子网掩码3.修改子 ...
- 07#Web 实战:实现 GitHub 个人主页项目拖拽排序
实现效果图 GitHub 和 Gitee 个人主页中可以对自己的项目进行拖拽排序,于是我就想自己实现一个.本随笔只是记录一下大概的实现思路,如果感兴趣的小伙伴可以通过代码和本随笔的说明去理解实现过程. ...
- Springboot自动装配源码及启动原理理解
Springboot自动装配源码及启动原理理解 springboot版本:2.2.2 传统的Spring框架实现一个Web服务,需要导入各种依赖JAR包,然后编写对应的XML配置文件 等,相较而言,S ...
- 【每日一题】2021年12月14日-82. 删除排序链表中的重复元素 II
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字. 返回同样按升序排列的结果链表. 来源:力扣(LeetCo ...
- Python:多进程并行编程与进程池
Python的并行编程可以采用multiprocessing或mpi4py模块来完成. multiprocessing是Python标准库中的模块,实现了共享内存机制,也就是说,可以让运行在不同处理器 ...
- Java多线程详解(通俗易懂)
一.线程简介 1. 什么是进程? 电脑中会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的.例如图中的微信.酷狗音乐.电脑管家等等. 2. 什么是线程? 进程想要执行任务就需 ...
- 基于 Spring Cloud 的微服务脚手架
基于 Spring Cloud 的微服务脚手架 作者: Grey 原文地址: 博客园:基于 Spring Cloud 的微服务脚手架 CSDN:基于 Spring Cloud 的微服务脚手架 本文主要 ...
- JavaScript:输出语法
主要有三种,如下所示:
- NOIP-2022游寄
NOIP-2022游寄 Day 1 虽然没有上次去南京CSP-S那么激动,但还是有点小开心的,毕竟能水掉两天课.Phigros重度沉迷患者,推了4个小时的分.坐右前方那哥们好卷,在车上写图论-- JS ...
- DSS+Linkis Ansible 单机一键安装脚本
DSS+Linkis Ansible 单机一键安装脚本 一.简介 为解决繁琐的部署流程,简化安装步骤,本脚本提供一键安装最新版本的DSS+Linkis环境:部署包中的软件采用我自己编译的安装包,并且为 ...