你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ADC+DMA采集三通道AD值不对,代码如下,求大神解答!

[复制链接]
windkiss 提问时间:2014-5-7 11:04 /
#include "stm32f10x.h"
#define ADC1_DR_Address    ((u32)0x4001244C)
void TIM1_UP_IRQHandler(void)
{
 round1++;
 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);
}
void TIM2_IRQHandler(void)
{
  TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
  ADC_SoftwareStartConvCmd(ADC1,ENABLE);
//   while(!(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)));
                 
   while(!(DMA_GetFlagStatus(DMA1_FLAG_TC1)));
    adc_current=adc_value[0];
    adc_voltagea=adc_value[1];
    adc_voltageb=adc_value[2];
 //    while(!times);
//    while(!(times==3));

//  times=0;
   
     DMA_ClearFlag(DMA1_FLAG_TC1);
//   ADC_ClearFlag(ADC1, ADC_FLAG_EOC);
  i++;
           LED_on;
   if(i==7)
   {
   i=0;
   Max_cu=adc_current[0];
      Min_cu=adc_current[0];
      sum_cu=adc_current[0];
   Max_voa=adc_voltagea[0];
      Min_voa=adc_voltagea[0];
      sum_voa=adc_voltagea[0];
   Max_vob=adc_voltageb[0];
      Min_vob=adc_voltageb[0];
      sum_vob=adc_voltageb[0];
      for(i=1;iMax_cu) Max_cu=adc_current;
         if(adc_currentMax_voa) Max_voa=adc_voltagea;
         if(adc_voltageaMax_vob) Max_vob=adc_voltageb;
         if(adc_voltageb
收藏 评论1 发布时间:2014-5-7 11:04

举报

1个回答
windkiss 回答时间:2014-5-7 11:05:27

RE:ADC+DMA采集三通道AD值不对,代码如下,求大神解答!

在改变对应AD引脚后,相同电平对应的AD值和没改变引脚前是不一样的,这是什么引起的啊!!!!

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版