打印
[STM32F1]

stm32f10x的adc和dma双通道问题

[复制链接]
601|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
清风致影|  楼主 | 2015-8-10 11:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用来同时采样2个通道数据,也设置好adc和dma,adc设置双通道连续采样,想要查询方式来获取采样好的ad数据,启动一次adc转换获取一次数据
但不清楚adc采样后数据传送到dma是通过什么标志位来判断传送成功的?
adc启动后,是先判断adc转换完成后再判断DMA传输完成后,才进行数据处理么?
下面采样函数是否正确?
void AD_Read(u16 *pad)
{  
  ADC_SoftwareStartConvCmd(ADC1,ENABLE);
  DMA_Cmd(DMA1_Channel1,ENABLE);
  while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)==RESET);//等待adc转换完成
  while(DMA_GetFlagStatus(DMA1_FLAG_TC1) == RESET);//等待DMA传输完成
  DMA_ClearFlag(DMA1_FLAG_TC1);
  resultdata= ADC_ConvertedValue[0] ;
  ADC_SoftwareStartConvCmd(ADC1,DISABLE);
  *pad = resultdata[0];//获取第一个通道ad
  *(pad++) = resultdata[1];//获取第二个通道ad
   
}
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我在背后默默的看着你 默默的看着你渐去渐远渐无影

161

主题

1161

帖子

2

粉丝