• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
MIDI pętla
#6
Przykład z serial event masz w Arduino IDE, zobacz jak to tam wygląda. Jak masz do odebrania ten jeden bajt to nie potrzebujesz serialEvent(), on jest po to by zebrać np. całą linię tekstu, albo określoną liczbę bajtów, więc jest tam jakaś zmienna string lub tablica gdzie wrzucasz te swoje 3 i jak tyle nazbierasz to sygnalizujesz do pętli głównej by coś z tym zrobić.
Arduino IDE -> Przykłady ->04. Komunikacja-> Serial event. Gdzieś tu na forum wrzuciłem przykład ze zbieraniem znaków aż do znaku końca linii, umieszczenie w tablicy i obróbka.
W Twoim przypadku powinieneś zebrać całą ramkę danych tego komunikatu midi, jak już znajdziesz jego koniec to wtedy w evencie ustawiasz flagę dla innej funkcji w programie, że masz cała ramkę. Ta inna funkcja bierze tą całą ramkę i wyjmuje z niej pierwsze 3 bajty, reszta do kosza. Możesz też odebrać i zapisać do tablicy 3-elementowej te pierwsze 3 bajty i resztę po prostu nie zapisywać, czekasz tylko na koniec ramki i zgłaszasz zakończenie.
Inaczej każde 3 bajty będziesz traktował jako te pierwsze. Nie wiem jak wygląda ramka midi, czy jest stała i po prostu zliczasz odebrane bajty, czy jest zmienna i jest jakiś znacznik początku i końca, czy w którymś bajcie jest podana długość danej ramki. To wszystko trzeba przeanalizować i obsłużyć w event, a gotowca przekazać do innej funkcji w loop. Wtedy w loop po prostu robisz if(ramka_gotowa==1) bierz_te_3_bajty();
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
MIDI pętla - przez drakston - 07-08-2019, 13:29
RE: MIDI pętla - przez semi - 07-08-2019, 14:01
RE: MIDI pętla - przez Jarewa0606 - 07-08-2019, 19:58
RE: MIDI pętla - przez kaczakat - 07-08-2019, 22:34
RE: MIDI pętla - przez drakston - 13-08-2019, 10:56
RE: MIDI pętla - przez kaczakat - 14-08-2019, 00:37

Skocz do:


Przeglądający: 1 gości