2016-07-27 14 views
0

Ich benutze Teensy3.1 um Audio mit 50KHz Abtastrate aufzunehmen. Ich benutze die Funktion AnalogRead, um den analogen Pin abzutasten. Der Lesewert sollte in den Bereich zwischen 0 und 1024 fallen.Arduino AnalogRead liefert 0 alle paar Proben

Jedoch habe ich nach dem Aufzeichnen der Daten festgestellt, dass alle 100 Abtastungen ein kleiner Wert (z. B. 0,019) gemessen wird. Was könnte der mögliche Grund dafür sein? Teste ich es zu schnell?

Jede Rückmeldung wird sehr geschätzt.

+0

Klingt es tatsächlich verzerrt, wenn Sie es wiedergeben? –

+0

@ IgnacioVazquez-Abrams Vielen Dank für Ihre Antwort. Es war verzerrt. Aber wenn ich ohne die merkwürdigen ZERO-Werte die Form der Daten an anderen Stellen richtig sehe. Verstehe nicht, warum die Datenreihen ständig mit den gleichen superkleinen Werten eingefügt wurden (z. B. 0,019). – Foreverniu

Antwort

0

Ich habe dieses Problem herausgefunden, das ein anderes Problem zu lösen versucht.

Früheres Problem wurde durch die Verwendung von Buffer beim Lesen der seriellen Schnittstelle in Java über RXTX verursacht. Ich habe die Puffergröße auf 1024 gesetzt. Daher jedes Mal, wenn der Datenstrom am Ende jedes Puffers unterbrochen wurde und der Start des nächsten Puffers. Z.B. 449,00 wurde in drei Zeilen mit 4, 49, .00 aufgeteilt.

Eine einfache Lösung besteht darin, die Puffergröße zu erhöhen und die Daten am Ende und am Anfang jedes Puffers zu werfen. Gibt es einen besseren Weg, das zu lösen?

Danke.