Stap 6: Instellen van de interrupt die leest de analoge poort
We kunnen een interrupt zo instellen dat één analoge poort is herhaaldelijk gelezen.
(Zie Amanda's artikel voor verdere details)
Mijn "startad" subroutine maakt gebruik van een pre scalair 128.
Dit creëert een herhaalde interrupt zodat poort A1 voortdurend op 9.4 KHz lezen is.
De interrupt-subroutine is een functie van twee vouwen:
1) als de teller minder dan het aantal lezingen is:
- De audiogegevens byte toevoegen aan de 512 byte buffer.
- Wanneer de buffer vol is, is schrijf de buffer in een Ga naar de sdcard - 512 bytes de optimale grootte voor snelle data bespaart. Reset de buffergrootte op nul voor de volgende inkomende audio byte.
2) wanneer de teller gelijk is aan het vereiste aantal lezingen is:
Stop de interrupt opnieuw optreedt
- Berekenen hoe lang het proces duurde, frequentie enz.
- Gebruik de frequentie en de bestandsgrootte wilt bijwerken de wave bestandsheader.
- Release van analoge poort A1 en A0-poort inschakelt, zodat de lcd-knoppen zullen werken.