[BASCOM] Igor USB, obsługa paru UART, 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
puciak
-
Posty: 1
Rejestracja: 27 mar 2007, 13:37
Lokalizacja: Chorzów

[BASCOM] Igor USB, obsługa paru UART, MIDI

Post autor: puciak » 27 mar 2007, 13:40

Witam,
Od razu uprzedzam, że jestem początkujący. Programuję w Bascomie. Mam jak narazie zestaw uruchomieniowy ZL3AVR z ATMega32.
Mam kupioną przejściówkę RS232 do USB, ale nie chodzi za dobrze. Chcę wysyłać dane MIDI do komputera na USB, więc chyba lepiej nie korzystać z RS232 bo 31250 baudów to niestandardowa prędkość. Jest więc możliwa emulacja http://cesko.host.sk/IgorPlugUSB/IgorPl ... R)_eng.htm , ale zupełnie nie rozumiem na jakiej zasadzie działa. Rozumiem, że miałbym skonstruować taki układ jak na obrazku http://cesko.host.sk/IgorPlugUSB/images/2313usb.gif oczywiście odpowiednio podpinając piny pod porty. Nie wiem po co tam jest odbiornik IR, zupełnie tego nie rozumiem... Transmisja ma przechodzić przez port USB, więc po co odbiornik IR. Co on ma odbierać?
Rozumiem, że zainstaluję drivery i jego program (Igora) i mogę posterować układem z poziomu komputera. Ale jak cokolwiek wysłać z układu do komputera? To działa w jedną stronę? Jak to obsłużyć przez Bascoma...?

I następny problem. Jak obsłużyć parę UARTów? Wiem, że są układy Atmela mające 2*UART, ale odradzacie tego rozwiązania na korzyść obsługi programowej. Ale jak jej dokonać? Szukałem na forum jakichś fragmentów kodu, ale nic nie znalazłem.

Stworzyłem prosty program. Ustalam na początku crystal na 16000000 i baud na 31250 po czym dałem instrukcję Print bez parametru. Na przerwaniu Int0 (przerwanie wywołuje przycisk), wysyłam komunikat midi.
Zainstalowałem sterownik Rolanda (link z http://www.ckmedia.pl/~jankomuzykant/n/ ... ykant3.htm). Po zainstalowaniu sterownika na dany port COM (mam dwa), nie chodzi wybrany dla sterownika port w terminalu bascoma, ale to raczej normalne. Zainstalowałem program MidiOx monitorujący komunikaty MIDI, ustaliłem mu oczywiście monitorowanie urządzenia Roland. No ale nic nie odbiera :/ Próbowałem wysyłać komunikaty metodą jednego forumowicza

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
Ale bez skutku. Próbowałem wysyłać Printbin wartość i tak trzy razy ale też nic z tego... W czym tkwi błąd?

Liczę na wyrozumiałość:)

ODPOWIEDZ