在adc测量外部电压时,我想实现这样一个效果:如果adc测量值大于1v,则led亮;如果adc测量值小于1v,led灯灭。但无论是采用adc轮询还是adc中断模式,led灯式中亮不起来或者说不能灭掉。但我注释掉led灯相关的代码,从串口中得到adc确实是在测量外部电压值。只是为什么一旦加上led灯的代码,程序就不行了呢? |
中断产生的太过于频繁,用示波器看一次LED的控制引脚。建议不要在中断中处理,再加延时处理。人眼能看过来,最起码得在10ms以上。 |
降低检测的周期,每次检测电压值之后延时0.5~1秒后再检测,这样就能看清楚LED的亮或灭了,否则由于人眼的滞后性,跟不上LED的快速变化,就有可能产生常亮或常灭的假象。 |
中断只采集数据,数据的处理放到主循环里 |
可以将ADC的结果存贮下来,看看大数据的规律再决定LED灯怎样点亮。 |
ADC各个通道转换
STM32F405使用LL库建立SPI通讯报溢出是什么原因?
cubemx安装HAL库时要账号登录,点击注册,显示错误,ST官网点击注册也是显示错误,请问是什么问题?
STM32F373的PGA(SDADC前置)怎么校正
STM32CubeMx中的ADC和模拟输入
请问STM32F373的内部基准为什么不准确?
stm32f373中SDADC和ADC的1.2V片内基准是不是同一个?
STM32F373的VREFINT是指什么?含义混乱
L6599ADTR,产地不同,丝印不同,这种有文件吗?ST有产地说明文件吗
单次ADC采样出现两次进入DMA中断的异常情况,救救孩子吧o(╥﹏╥)o