ADC单次采样模式问题

2019-08-12 17:24发布

我有一个疑问,为什么在单次采样模式下,我调用一次adcx=Get_Adc(ADC_Channel_1); 从串口打印数据为什么会有三个采样值?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
当儿ing
1楼-- · 2019-08-13 22:33
回复【5楼】正点原子:
---------------------------------
原子上面是我的截图,不知道原子哥有没有尝试过这样输出呢~如果对一个正弦波数字化是不是要用一个通道连续转换+DMA就可以啦~还要用多个通道吗?
当儿ing
2楼-- · 2019-08-14 02:11
回复【8楼】正点原子:
---------------------------------
按照原子哥说的,就算不能运行到底,按理论来说,调用一次while循环也应该只输出1个数啊 ,当我把程序如下修改
不取平均值,直接取ADC每次转换的值,那我是调用了Get_Adc()150次啊,为什么printf()输出到串口150*3=450个值呢?
还有就是,为什么要是个死循环啊?要是想要ADC转换的150个数只能用DMA了吗?刚接触STM,只能从例程开始,比较困惑,望原子哥解答~感激不尽~
i=0;
while(i<150) 

  i=i+1
  adcx=Get_Adc(ADC_Channel_1);//直接取ADC每次转换的值
  LCD_ShowxNum(156,130,adcx,4,16,0);//显示ADC的值 
  temp=(float)adcx*(3.3/4096); 
  printf("%f "); 
  adcx=temp; 
  LCD_ShowxNum(156,150,adcx,1,16,0);//显示电压值 
  temp-=adcx; 
  temp*=1000; 
  LCD_ShowxNum(172,150,temp,3,16,0X80); 
  LED0=!LED0; 
  delay_ms(250);

 }
yuzeyuan1
3楼-- · 2019-08-14 04:36
回复【9楼】当儿ing:
---------------------------------
层主快解决~养肥了再看
当儿ing
4楼-- · 2019-08-14 07:15
 精彩回答 2  元偷偷看……
Rainday
5楼-- · 2019-08-14 12:42
当儿ing 发表于 2015-7-20 08:37
回复【8楼】正点原子:
---------------------------------
原子哥,再次求助~

去21ic论坛,这里的论坛没人回答的。

一周热门 更多>