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 ...
随机推荐
- java:绘制图形
java绘图类:Graphics类 绘图是高级程序中必备的技术,在很多方面都能用到,如:绘制闪屏图片,背景图片和组件外观等. 1.Graphics类 Graphics类是所有图形上下文的抽象基类,Gr ...
- 在Cloudreve网盘系统中集成kkFileView在线预览(暂时)
服务器:WindowsServer 2016 Cloudreve 需求方想整一个在小团队内部使用的网盘系统,最终在千挑万选之下选中了Cloudreve. Github地址:https://github ...
- 笔试面试--Java基础知识
一.基本概念 1.Java的优点 纯面向对象 平台无关性,"一次编译,到处运行(JVM上)",跨平台,可移植性 丰富类库:多线程.网络通信.垃圾回收 安全性(数组边界检测.byte ...
- 100IT 名企 java 面试必考面试题
一.Java基础(2/133) 二.Java代码报错(52/133) 三.算法与编程(55/133) 四.html&JavaScript&ajax部分 五.Java Web部分 六.数 ...
- Backbone 网络-ResNet v2 详解
目录 目录 目录 前言 摘要 1.介绍 2.深度残差网络的分析 3.On the Importance of Identity Skip Connection 4.On the Usage of Ac ...
- VideoPipe可视化视频结构化框架更新总结(2022-12-9)
项目地址:https://github.com/sherlockchou86/video_pipe_c 往期文章:https://www.cnblogs.com/xiaozhi_5638/p/1685 ...
- SQLMap入门——获取当前网站数据库的名称
列出当前网站使用的数据库 python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 --current-db
- Redis数据结构与对象
参考<Redis设计与实现> 系列文章目录和关于我 一丶简单动态字符串 当redis需要的不仅仅是一个字符串字面量,而是一个可以被修改的字符串值时,就会使用SDS(simple dynam ...
- Java开发学习(四十九)----MyBatisPlus更新语句之乐观锁
1.概念 在讲解乐观锁之前,我们还是先来分析下问题: 业务并发现象带来的问题:秒杀 假如有100个商品或者票在出售,为了能保证每个商品或者票只能被一个人购买,如何保证不会出现超买或者重复卖 对于这一类 ...
- 来自一位十年.net研发老人的吐血整理:.Net技术栈-网址导航
业余时间为什么整理这个? 内容聚合:不用一个一个搜索,我们很快可以进入常用技术官网 提高效率:多看官方文档可以最快,最准确的掌握相关的技术资讯,不用被一些没理解透或者有偏差的技术分享所带偏. 很多有经 ...