Bascom a MIDI

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Jimi Hendrix
-
Posty: 12
Rejestracja: 29 lip 2005, 18:33
Lokalizacja: Poznań

Bascom a MIDI

Post autor: Jimi Hendrix » 26 lis 2006, 14:53

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

Awatar użytkownika
Brzozza93
Użytkownik
Posty: 474
Rejestracja: 26 cze 2006, 17:35
Lokalizacja: Gdynia
Kontakt:

Post autor: Brzozza93 » 26 lis 2006, 19:14

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.

basilius
-
Posty: 12
Rejestracja: 23 gru 2005, 1:48
Lokalizacja: Kraków

Post autor: basilius » 28 lis 2006, 12:42

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.

daniel93
Użytkownik
Posty: 147
Rejestracja: 20 wrz 2005, 16:32
Lokalizacja: Wujskie city
Kontakt:

Post autor: daniel93 » 05 gru 2006, 15:23

A można dekodować ATMegą MIDI?

basilius
-
Posty: 12
Rejestracja: 23 gru 2005, 1:48
Lokalizacja: Kraków

Post autor: basilius » 05 gru 2006, 20:15

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 :arrow: A tak na marginesie, z ciekawości, co budujesz? Sterownik midi?
Pozdr.

Jimi Hendrix
-
Posty: 12
Rejestracja: 29 lip 2005, 18:33
Lokalizacja: Poznań

Post autor: Jimi Hendrix » 13 mar 2007, 23:15

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?
:arrow: basilius
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

Post autor: ZbeeGin » 14 mar 2007, 18:05

Jimi Hendrix pisze:a potem:

out udr , komunikat (np 177 - control change na kanale 1)
out udr, numer kontrolera
out udr, wartość
Nie trzeba się zniżać, aż do asemblera. Wystarczy tablica paruelementowa wysyłana przez PRINTBIN.

Jimi Hendrix
-
Posty: 12
Rejestracja: 29 lip 2005, 18:33
Lokalizacja: Poznań

Post autor: Jimi Hendrix » 14 mar 2007, 19:38

Ale oczywiście jest możliwe tutaj użycie komend assemblera przeze mnie przytoczonych? Nie mam pojęcia jak to zrobić na PRINTBIN, a assemblerem kiedyś sie na PC bawiłem.
Pozdrawiam

ZbeeGin

Post autor: ZbeeGin » 14 mar 2007, 20:57

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:

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

Ł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}

Jimi Hendrix
-
Posty: 12
Rejestracja: 29 lip 2005, 18:33
Lokalizacja: Poznań

Post autor: Jimi Hendrix » 09 kwie 2007, 14:31

A w jaki sposób obsłużyć MIDI-IN?

piotrva
-
Posty: 1
Rejestracja: 10 lip 2008, 12:07
Lokalizacja: Kraków

Post autor: piotrva » 10 lip 2008, 12:13

Witam!
Jestem nowy i proszę o wyrozumiałość
Mam pytanie co do tego systemu:
skąd mam wiedzieć na których nóżkach podpiąć który pin ze złącza MIDI??

ODPOWIEDZ