野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14468|回复: 3

火哥,你一定要看看,这几天都在纠结这个问题,一直失眠,希望各位大神知道的赐教

[复制链接]
发表于 2015-7-6 23:13:24 | 显示全部楼层 |阅读模式
前段时间在看USART用DAM方式实现,
                /*设置DMA源:串口数据寄存器地址*/
                DMA_InitStructure.DMA_PeripheralBaseAddr = USART1_DR_Base;          

                /*内存地址(要传输的变量的指针)*/
                DMA_InitStructure.DMA_MemoryBaseAddr = (u32)SendBuff;

意思就是说把SendBuff数组的数据[size=14.2857151031494px]通过DMA源源不断的传输到USART1中数据寄存器中,我的理解是DMA的作用只是把[size=14.2857151031494px]SendBuff的数据传到[size=14.2857151031494px]USART1寄存器[size=14.2857151031494px]USART1_DR中,而程序中并没有说要把他打印出来,当然实验的结果是串口助手不断输出数据。希望大家指点指点,换我一个安稳的睡眠........
回复

使用道具 举报

 楼主| 发表于 2015-7-6 23:14:43 | 显示全部楼层
希望大家不吝赐教,感激不尽
回复 支持 反对

使用道具 举报

发表于 2015-7-7 08:39:13 | 显示全部楼层
你开启了串口功能,又源源不断地给它送数据,它的功能就是向外发送数据
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-7 14:08:28 | 显示全部楼层
DMA只是把数据送到USART的数据寄存器,并没有调用USART_SendData()类似的函数啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 05:43 , Processed in 0.031677 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表