Stap 5: Plaatsen uitgaande van de gegevens
De Void lus routine voert de volgende functies
1) als writeit geldt:
- Berekent de waargenomen bekijken over tijdsperioden, corrigeren voor micro tijd rollover
- uitgangen van de buffer bufa
- frequentie in KiloHertz berekent
- output buffer bufinfo, met een handshke nul byte en de frequentie in milliHertz
- Hiermee schakelt u de lcd-poort zodat de knoppen kan worden gelezen
- Schakelt uit de test puls aan pw3
- Uitgangen tekst details op de seriële poort als showdetails klopt (valse ingesteld door een snelle run)
- sets vlag writeit op false en hasdata op true
De gegevens worden verzonden in twee gelijktijdige secties
- a) een 5 byte header buffer met nul, gevolgd door 4 bytes die de frequentie in milliHz. Verzenden in milliHertz verhoogt de nauwkeurigheid van de doorgeleid frequentie-waarde.
- b) 1000 bytes van onbewerkte gegevens, elk in het bereik 0 tot 255.
2) als hasdata klopt
- Controleer het lcd-knoppen
- Als een snelle run actief is, zoekt u een handdruk teken vanaf de pc (of 1.5s timeout) en meer gegevens ophalen
- selectievakje voor seriële input opdrachten
.
LCD-knoppen
De ingang wordt door de subroutine buttoncheck ontvangen.
De lcd-knoppen worden van analoge poort 0 gelezen.
Elke knop produceert een spanning binnen een bepaald bereik van waarden
De linker knop, ligt bijvoorbeeld in het bereik van 400 tot 599
- Selecteer - initieert een nieuw monster (of een snelle run ingeperkt)
- Up - positieve rand trigger
- Down - negatieve rand trigger
- Links - bemonsterd daling periode (verhoogt de Prescalar)
- Recht - bemonsterd verhoging periode (afname Prescalar)
.
Seriële invoergegevens
De ingang wordt door de subroutine commandcheck ontvangen.
'test' , wordt er een blokgolf op testpin (= de digitale poort 3), met behulp van de vlag pwtoggle geschakeld.
pinMode(testpin,OUTPUT);
Als (pwtoggle == false) analogWrite (testpin, 0);
Als (pwtoggle) analogWrite(testpin,127);
Dit is zeer handig. Gewoon verbinden met digitale poort 3 analoge 1, direct.
'trig' stelt het triggerniveau. In de software wordt geactiveerde versie de trigger-variabele gebruikt wiskundig triggering kunt instellen. In de hardwareversie dat het gewoon knevels triggering.
'opnieuw' produceert een eenmalige monster
'uitvoeren' produceert een snel herhaalde monster
'vref' stelt de refe-rentiewaarde van spanning. (Alleen gebruikt door de software geactiveerd oscilloscoop te interpreteren interventiepunt.)