Skocz do zawartości

Komputer 8 bit, problem z bibliotekami


Pomocna odpowiedź

Napisano

Witam, mam problem z 8 bitowym komputerem. Biblioteki nie chcą ze sobą współpracować.

 

Więc to było tak:

Podłączyłem klawiaturę ps2 pod arduino Data do 8, a clock pod 3 i dodałem bibliotekę PS2Keyboard.h. Wgrałem i na Serialu wszystko pięknie wyświetlało i poprawnie wpisywane komendy się wykonywały. 

 

Potem podłączyłem arduino pod telewizor, dodałem bibliotekę TVout.h i wszystko działało. Gdy połączyłem wszystko w całość to zaczynały się schody. Klawiatura błędnie zbierała znaki i telewizor migał przy wciskaniu klawiszy, a wcześniej, gdy wszystko było osobno to działało dobrze.

 

Sprawdziłem też Serial monitor bez załączonej biblioteki TVout.h i śmigało, klawiatura dobrze zbierała wszystko. Kiedy dołączyłem TVout.h to Serial też pokazywał źle znaki.

 

Na internecie czytałem i nie tylko ja mam ten problem, tylko że nie ma odpowiedzi.

 

Czy ktoś mógłby mi pomóc? 😄

  • Lubię! 1

Nie znam tych bibliotek, ale generowanie sygnału tv wymaga zachowania ścisłego reżimu czasowego przebiegów.

Musiałbyć obsługę seriala umieścić gdzieś w czasie trwania sygnału H-sync gdzie jest stosunkowo dużo czasu do dyspozycji.

Teraz pewnie wszystko działa asynchronicznie i się wzajemnie zakłóca.

22 godziny temu, Mikolajkie napisał:

@kostuch A co, gdyby użyć osobnego arduino do sterowania TV?

Trochę bez sensu. Wtedy zakłócenia będą przez komunikację pomiędzy dwoma płytkami.

Poszukaj w necie jak działa programowe generowanie sygnału tv i w którym momencie i jak długo można robić coś czasochłonnego (np zabawa serialem).

Na początek np http://martin.hinner.info/vga/pal.html

Zapewne będziesz musiał sobie napisać coś customowego zamiast standardowych bibliotek.

 

ps

Dużo łatwiej zrobić coś takiego np na esp32, który ma dwa rdzenie.

1 godzinę temu, kostuch napisał:

Dużo łatwiej zrobić coś takiego np na esp32, który ma dwa rdzenie.

Na ESP32 jest konkretna biblioteka, zdaje się że kompatybilna z Adafruit_GFX. Generuje obraz w kolorze i pozwala na robienie różnych rzeczy niezależnie od wyświetlania.

32 minuty temu, ethanak napisał:

Na ESP32 jest konkretna biblioteka, zdaje się że kompatybilna z Adafruit_GFX. Generuje obraz w kolorze i pozwala na robienie różnych rzeczy niezależnie od wyświetlania.

Zgadza się. Dosyć przyzwoicie działa, aczkolwiek ma problemy synchronizacji z tańszymi monitorami. Ale to bardziej problem monitora, który spodziewa się sygnału odrobinę innego niż standard pal/ntsc.
No ale autor robi na jakimś malutkim 8bit (atmega?), gdzie trzeba się odrobinę nagimnastykować.

3 minuty temu, kostuch napisał:

No ale autor robi na jakimś malutkim 8bit (atmega?), gdzie trzeba się odrobinę nagimnastykować.

Pomijając że jest to sztuka dla sztuki, ja zacząłbym pytanie od pokazania kodu źródłowego. Jasne, synchronizacja i wyświetlenie obrazu zajmuje sporo czasu mikrokontrolera ale nie na tyle żeby nie dało się przy tym obsłużyć klawiatury

No właśnie synchronizacja (pionowa) nie zajmuje czasu procesora i daje "mnóstwo przestrzeni" na różne operacje.

Ale to wymaga trochę więcej wiedzy, niż loop() {}
Dlatego podałem linka na dobry początek 🙂

 

  • Lubię! 1
(edytowany)
Cytat

Witam, mam problem z 8 bitowym komputerem.

Podstawowe pytanie jakim? I do czego ten komputer ma służyć. Jakiś link do projektu jeżeli to gotowiec. Bo ja np. mam taki problem że leży mi tuzin Z80 z starego komputera przemysłowego i nie wiem czy se ZX Spectrum nie zbudować, albo karty CP/M do C64. Albo klona PC XT bo w środku były też 4 komplety 8086 i kooprocesor 8087.

PS. taka mała dygresja.😄

Co do tematu. No cóż 8-bitowe komputery wymagają sporo finezji, samozaparcia i wiedzy, żeby to działało. Szczególnie jeżeli jest realizowane programowo. Jak jedne z kolegów wspomniał sztuka, dla sztuki, ale frajda jest jak zadziała.

Edytowano przez BlackJack
  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...