Ich bin auf der Suche nach MIDI-Nachrichten, um einen Mikrocontroller-basierten Synthesizer zu steuern, und ich arbeite daran, das MIDI-Protokoll zu verstehen, damit ich einen MIDI-Handler implementieren kann. Ich habe gelesen, dass MIDI mit 31,25kHz ohne dedizierte Taktleitung übertragen wird - muss ich die Leitung mit 31,25kHz mit dem Mikrocontroller abtasten, um MIDI-Bytes zu empfangen?Wie man Mikrocontroller mit MIDI-Controller-Ausgang synchronisiert
Antwort
Die MIDI specification sagt:
Die Hardware-MIDI-Schnittstelle mit 31,25 (+/- 1%) betreibt Kbaud, asynchron mit einem Startbit, 8 Datenbits (D0 bis D7) und einem Stopbit . [...] Bytes werden zuerst LSB gesendet.
Dies beschreibt ein Standard-UART-Protokoll; Sie können einfach die UART-Hardware verwenden, die die meisten Mikrocontroller eingebaut haben. (Die Baudrate von 31250 Hz wurde gewählt, weil sie leicht von einem 1 MHz-Takt abgeleitet werden kann.)
Wenn Sie wirklich implementieren wollten der Empfänger in der Software, würden Sie das Eingangssignal mit einer höheren Rate abtasten, um in der Lage zu sein, das Niveau in der Mitte jedes Bits zuverlässig zu ermitteln; Einzelheiten siehe What exactly is the start bit error in UART? und How does UART know the difference between data bits and start/stop bits?
- 1. Wie programmiert man den Mikrocontroller?
- 2. Wie synchronisiert man Aufgaben?
- 3. Wie man `vkMapMemory` synchronisiert?
- 4. Wie man Layoutänderungen synchronisiert?
- 5. Wie synchronisiert man das Tastverhältnis einer PWM mit einer Sinuswelle?
- 6. Wie man Sounds mit SoundPool synchronisiert
- 7. Wie synchronisiert man Federdaten elasticsearch mit mongodb?
- 8. Wie synchronisiert man Animation mit Turtle-Grafikmodul?
- 9. TFS Buildnummer, wie man mit Umgebungsvariable synchronisiert?
- 10. Wie synchronisiert man Prozesse mit Semaphor
- 11. Wie man Daten mit einer ServerDatabase synchronisiert?
- 12. Wie synchronisiert man phpmyadmin Datenbank
- 13. Wie synchronisiert man Promise-Objekte?
- 14. Wie synchronisiert man Python-Threads?
- 15. Wie kommuniziert man mit dem Mikrocontroller über eine Webschnittstelle?
- 16. Wie synchronisiert man zwei Subversion-Repositories?
- 17. Wie synchronisiert man zwei Mysql Workbench-Diagramme?
- 18. Wie synchronisiert man zwei ListViews in Delphi?
- 19. Wie synchronisiert man ein bestehendes SVN-Repository?
- 20. Wie synchronisiert man die Prometheus-Zeit?
- 21. Wie synchronisiert man Oracle Coherence Clusters?
- 22. Wie man Daten zwischen verschiedenen Geräten synchronisiert
- 23. Wie man Crowd-Gruppen zu jenkins synchronisiert?
- 24. Wie synchronisiert man microphysics.js zwischen Clients?
- 25. Wie synchronisiert man zwei MySQL-Tabellen?
- 26. Wie synchronisiert man Threads in Java
- 27. Wie man Methoden von Firebase synchronisiert
- 28. SyncAdapter - Wie man jede Sekunde periodisch synchronisiert
- 29. Wie synchronisiert man verschiedene Tabellenstrukturen in SymmetricDS?
- 30. Wie synchronisiert man die Cuda Kernel Funktion?