[STM32F0] stm32f072 DMA传输数据的问题

[复制链接]
1577|2
 楼主| winrar 发表于 2016-10-21 10:38 | 显示全部楼层 |阅读模式
本帖最后由 winrar 于 2016-10-21 10:40 编辑

请教大家个问题啊:
用STM32F072C8,DMA传输数据到DAC
PA5管脚输出,用DMA1_Channel4,TIM2作为TRGO
配置好DMA1_Channel4,使能

DMA1->ISR中DMA1_Channel4除传输错误外立马全部置1
{
  DMA1_Channel4->CPAR = DAC_DHR12R_Address;
  DMA1_Channel4->CMAR = (uint32_t)&Sine12bit;
  DMA1_Channel4->CNDTR = 640;
  DMA1_Channel4->CCR = 0x00002590;
  DMA1_Channel4->CCR |= DMA_CCR_EN;

  while(DMA1->ISR&DMA_ISR_TCIF4 == 0){;}
  DMA1_Channel4->CCR &= (uint16_t)(~DMA_CCR_EN);
  DMA1->IFCR |= DMA1_CHANNEL4_IT_MASK;
}
最后三句话不加的话能输出20个正弦波(Sine12bit数据)
加了最后三句话没正弦波
抓波形的话就只输出第一个数据就立马停止了
单步调试的话
DMA1_Channel4->CCR |= DMA_CCR_EN;
执行完毕后,DMA1->ISR&DMA_ISR_TCIF4就立马置位了

哪位大神给点建议啊
 楼主| winrar 发表于 2016-10-21 11:47 | 显示全部楼层
程序问题。&与==优先级的关系
真是汗了
调试的时候看寄存器应该不准确
while((DMA1->ISR&DMA_ISR_TCIF4) == 0){;}
结贴
皈依 发表于 2016-10-22 09:14 | 显示全部楼层
楼主自己提出问题,自己解决,还把解决办法发出来了,值得提倡!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

35

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0