久芯网

adc中断

avatar 遇灬见氵 提问时间: 2023-08-20 17:40:41 / 未解决
在adc测量外部电压时,我想实现这样一个效果:如果adc测量值大于1v,则led亮;如果adc测量值小于1v,led灯灭。但无论是采用adc轮询还是adc中断模式,led灯式中亮不起来或者说不能灭掉。但我注释掉led灯相关的代码,从串口中得到adc确实是在测量外部电压值。只是为什么一旦加上led灯的代码,程序就不行了呢?

4个回答
  • avatar 废鱼
    回答时间: 2023-08-20 18:12:00

    中断产生的太过于频繁,用示波器看一次LED的控制引脚。建议不要在中断中处理,再加延时处理。人眼能看过来,最起码得在10ms以上。

  • avatar 老牛洋车
    回答时间: 2023-08-20 18:37:16

    降低检测的周期,每次检测电压值之后延时0.5~1秒后再检测,这样就能看清楚LED的亮或灭了,否则由于人眼的滞后性,跟不上LED的快速变化,就有可能产生常亮或常灭的假象。

  • avatar wudianjun2001
    回答时间: 2023-08-20 18:57:24

    中断只采集数据,数据的处理放到主循环里

  • avatar butterflyspring
    回答时间: 2023-08-20 19:26:53

    可以将ADC的结果存贮下来,看看大数据的规律再决定LED灯怎样点亮。

会员中心 微信客服
客服
回到顶部