När jag lär mig handledningen i
båda kodexemplen har en kodrad fördröjning (1)
och jag kan inte förstå kommentarerna tydligt:
fördröjning (1 ); // fördröjning mellan läsningar för stabilitet
stabiliteten för / av vad?
När jag lär mig handledningen i
båda kodexemplen har en kodrad fördröjning (1)
och jag kan inte förstå kommentarerna tydligt:
fördröjning (1 ); // fördröjning mellan läsningar för stabilitet
stabiliteten för / av vad?
Dessa förseningar är nonsens. De ökar inte stabiliteten hos någonting. Det bästa du kan säga är att de hindrar dig från att skicka din seriella port. (Men 1 ms är inte särskilt lång).
Ibland kasta folk in en fördröjning eftersom "det verkar fungera bättre" utan att undersöka den bakomliggande orsaken. Jag skulle spekulera att författaren i det här fallet kan ha använt förseningar för att förbättra mottagningen av seriell data och fått idén i huvudet att en och annan fördröjning då och då "förbättrar stabiliteten".
Analog stabilitet
Från datablad för ATMEGA328 Sida 240:
Så om du gör flera läsningar måste du vänta några cykler.
Fördröjningar krävs inte när du använder automatisk utlösning:
Även om du läser olika kanaler i samma ADC-modul, måste du ange en fördröjning mellan läsningarna så att den analoga MUX är placerad och S&H kondensatorn är laddad.
Denna information är ur hårdvaruperspektiv och jag är inte säker på om Arduino interna ADC-rutiner kompenserar för dessa förseningar.
Digital stabilitet stark >
Från den digitala läshandledningen schematisk:
I schemat är tryckknappen inte elektriskt - studsade. En fördröjning i läsningstillstånd skulle hjälpa till att avvisa det i programvara.
Som Nick Gammon föreslog förbättrar de också seriell översvämning.