Bascom a MIDI
-
Jimi Hendrix
- -
- Posty: 12
- Rejestracja: 29 lip 2005, 18:33
- Lokalizacja: Poznań
Bascom a MIDI
Witam, mam takie pytanie, czy da się używając procka atmega8 i Bascoma wysyłać dane interfejsem MIDI do komputera/syntezatora?? Może powstała gotowa biblioteka?? Chodzi mi o przeyłanie danych typu Control Change.
Pozdrawiam
Pozdrawiam
https://elportal.pl/index.php?module=Co ... y&ceid=127 może to cię oświeci, tam jst właśnie taki śródtytuł "Bascom a MIDI" a w nim szczegóły transmisji danych przez UART procka.
Dla procesorów typu ATMega, wysyłanie danych MIDI przez USART będzie i tak wyglądało trochę inaczej niż przez UART w AT89C4051, więc jeśli interesuje Cię bardziej MIDI niż BASCOM, to zajrzyj do EP 12/06. Tutaj jest zwiastun tego artykułu. Pozdr.
Hej. Przecież transmisja danych w standardzie MIDI, jest odmianą klasycznej asynchronicznej transmisji szeregowej. Od transmisji w standardzie RS-232, poza ustaloną ramką przesyłanych danych oraz innym interfejsem sprzętowym, odróżnia ją tylko prędkość. W szeregu standardu rs-232 prędkość 31250 bit/sek nie występuje. To, w jaki sposób odbierane dane będą interpretowane przez mikrokontroler, zależy wyłącznie od oprogramowania.
Jimi Hendrix
A tak na marginesie, z ciekawości, co budujesz? Sterownik midi?
Pozdr.
Jimi Hendrix
Pozdr.
-
Jimi Hendrix
- -
- Posty: 12
- Rejestracja: 29 lip 2005, 18:33
- Lokalizacja: Poznań
Aha. Czyli:
$baud = 31250
a potem:
out udr , komunikat (np 177 - control change na kanale 1)
out udr, numer kontrolera
out udr, wartość
czyż nie? Podobno Print nie działa.... Udr to chyba bufor UARTa?
basilius
Chcę zrobić jakiś kontroler do programowych organów Hammonda - Native Instruments B4. Chyba na ATmega16
Pozdrawiam
$baud = 31250
a potem:
out udr , komunikat (np 177 - control change na kanale 1)
out udr, numer kontrolera
out udr, wartość
czyż nie? Podobno Print nie działa.... Udr to chyba bufor UARTa?
Chcę zrobić jakiś kontroler do programowych organów Hammonda - Native Instruments B4. Chyba na ATmega16
Pozdrawiam
Ostatnio zmieniony 01 sty 1970, 1:00 przez Jimi Hendrix, łącznie zmieniany 1 raz.
-
ZbeeGin
-
Jimi Hendrix
- -
- Posty: 12
- Rejestracja: 29 lip 2005, 18:33
- Lokalizacja: Poznań
-
ZbeeGin
Owszem, można i niskopoziomowo, ale zastanów się jak przekazać zmienne dla tych instrukcji OUT... Dlatego proponuje PRINTBIN - a o nim możesz poczytać przecież w pliku pomocy.
OK. Mały przykład:
Łatwo się wtedy czyta taki program. Ponadto tablica jest cierpliwa, zawsze będzie pamiętać jaki komunikat MIDI ostatnio został przesłany.
ps. Podpowiedź do pierwszego pytania:
out UDR, {zmienna}
OK. Mały przykład:
Kod: Zaznacz cały
Dim midiFRAME(3) As Byte
midiFRAME(1) = 177
midiFRAME(2) = 0
midiFRAME(3) = 123
PrintBin midiFRAME(1) 'wyśle wszystkie elementy tablicy po kolei
'kompilator sam zresztą zadba, by wyszystko zostalo wysłane
'sprawdzając czy bufor UART jest gotowy na przyjęcie kolejnych danych
ps. Podpowiedź do pierwszego pytania:
out UDR, {zmienna}
-
Jimi Hendrix
- -
- Posty: 12
- Rejestracja: 29 lip 2005, 18:33
- Lokalizacja: Poznań