STM32F4库函数初始化系列:DMA串口接收
2024-10-20 20:38:45
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 }
最新文章
- 2.4.1 用NPOI操作EXCEL--画线(转)
- CentOS6.6安装virtualbox4.1.44
- SDRAM读写一字(上)
- 表单中Readonly和Disabled的区别(转载)
- ACM 谁获得了最高奖学金
- 文件与base64二进制转换
- iOS UINavigationController 详解
- 初定为EGame
- Secure CRT 如何连接虚拟机里面的CentOS系统——当主机使用无线网的时候 作者原创 欢迎转载
- H.O.T candy
- Struts2学习笔记(七)——类型转换
- Effective Java 第三版——17. 最小化可变性
- Git学习(2)-使用Git 代码将本地文件提交到 GitHub
- Linux命令及架构部署大全
- main方法启动spring
- qt 拖拽 修改大小(二)
- ZoomIt: 非PPT演示必备辅助软件
- .NET大批量插入数据到Oracle
- Aizu - 2249 Road Construction
- SSM前言——相关设计模式
热门文章
- day10 集合——队列(Queue)、Vector &; Map集合常用方法 &; HashMap的实现原理&;二叉树&;二叉查找树AVL树&;红黑树
- postgresql函数:定期删除模式下指定天数前的表数据及分区物理表
- kali2021.4a安装angr(使用virtualenv)
- 全网最全的linux上docker安装oracle的详细文档,遇到了n个问题,查了几十篇文章,最终汇总版,再有解决不了的,私聊我,我帮你解决
- echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新
- 把时间沉淀下来 | Kagol 的 2022 年终总结
- React报错之Too many re-renders
- 新项目决定用 JDK 17了
- Window注册表的学习记录
- Web应用怎样获取Access Token?