智能车制作

 找回密码
 注册

扫一扫,访问微社区

STM32论坛
查看: 5107|回复: 1
打印 上一主题 下一主题

STM32 DMA_GetCurrDataCounter()函数值不变!

[复制链接]

1

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
163
威望
115
贡献
48
兑换币
0
注册时间
2012-7-8
在线时间
8 小时
毕业学校
华南理工大学
跳转到指定楼层
1#
发表于 2012-7-22 15:12:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近尝试用USART2的DMA模式来发送接收数据。接收的时候,发现DMA_GetCurrDataCounter()的值维持DMA_BufferSize的大小不变。若用while(DMA_GetFlagStatus(DMA1_FLAG_TC6)==RESET);则一直循环着。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD|RCC_APB2Periph_USART1,ENABLE);
  //启动DMA时钟
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);


void USART2_Configuration(void)
{
  USART_InitTypeDef USART_InitStructure;
  USART_InitStructure.USART_BaudRate = 115200;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
  USART_Init(USART2, &USART_InitStructure);
  USART_Cmd(USART2, ENABLE);
  USART_DMACmd(USART2,USART_DMAReq_Tx,ENABLE);
  USART_DMACmd(USART2,USART_DMAReq_Rx,ENABLE);
}
//接收部分
  DMA_DeInit(DMA1_Channel6);  
  DMA_InitStructure.DMA_PeripheralBaseAddr = USART2_DR_Base;
  DMA_InitStructure.DMA_MemoryBaseAddr = (u32)SensorsData;
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
  DMA_InitStructure.DMA_BufferSize = Counts;
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;//正常或者循环。
  DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;
  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
  DMA_Init(DMA1_Channel6, &DMA_InitStructure);
  DMA_Cmd(DMA1_Channel6,ENABLE);
//发送正常

5

主题

496

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2570

优秀会员奖章活跃会员奖章

QQ
威望
1267
贡献
743
兑换币
1
注册时间
2010-3-7
在线时间
280 小时
2#
发表于 2012-7-27 19:35:42 | 只看该作者
楼主DMA_GetCurrDataCounter()这个在哪里???
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-16 18:15 , Processed in 0.048411 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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