Witam,
Postanowiłem sobie napisać program w C, który wyświetla na ekranie TV jakiś obrazek..
Chciałbym do tego użyć języka C, beż użycia asm,którego w ogóle nie znam.
Tutaj można zdobyć trochę wiedzy:
Link i Link
No i napisałem sobie taki prowizoryczny na początek kod(bez timerów itp)
!!Uwaga poprany i działający kod jest TUTAJ !!
Obraz ma mieć 41 na 31 pixeli..
Generalnie zasada działania jest taka, że program pobiera z tabeli dane,
i jeśli pobierze 1 to ustawa pixel szary, jeśli 2 to biały, jeśli 0 to czarny.
A jeśli będzie to 3, to znaczy, że właśnie skończyła się cała linia, i należy wysłać impuls synch poziomej.
Niby wszystko ładnie i cacy, ale napotkałem się na problem,którego nie potrafię przyskoczyć (pewnie dlatego, że źle się za ro biorę)
Załóżmy, że
1)pierwszą linię procesor obrabia w 63.5us (czyli poprawnie bo tyle ma dokładnie być)
2)Drugą obrobi w ten sam czas (63.5),
3)Trzecią obrobi w czas dłuższy(mi wyszło prawie o 3us)
// obrabia ją dłużej bo jest warunek
Więc musi program sprawdzić kolejny warunek i wszystko wykonuje się dłużej..
Czy da się jakoś nad tym 'zapanować' aby każda linia była wykonywana w tym samym czasie?
Jak sobie z tym poradzić??
P.S program ma wyświetlać napis TAMA w ramce na ekranie TV
Postanowiłem sobie napisać program w C, który wyświetla na ekranie TV jakiś obrazek..
Chciałbym do tego użyć języka C, beż użycia asm,którego w ogóle nie znam.
Tutaj można zdobyć trochę wiedzy:
Link i Link
No i napisałem sobie taki prowizoryczny na początek kod(bez timerów itp)
!!Uwaga poprany i działający kod jest TUTAJ !!
Kod: C / C++
Obraz ma mieć 41 na 31 pixeli..
Generalnie zasada działania jest taka, że program pobiera z tabeli dane,
i jeśli pobierze 1 to ustawa pixel szary, jeśli 2 to biały, jeśli 0 to czarny.
A jeśli będzie to 3, to znaczy, że właśnie skończyła się cała linia, i należy wysłać impuls synch poziomej.
Niby wszystko ładnie i cacy, ale napotkałem się na problem,którego nie potrafię przyskoczyć (pewnie dlatego, że źle się za ro biorę)
Załóżmy, że
1)pierwszą linię procesor obrabia w 63.5us (czyli poprawnie bo tyle ma dokładnie być)
2)Drugą obrobi w ten sam czas (63.5),
3)Trzecią obrobi w czas dłuższy(mi wyszło prawie o 3us)
// obrabia ją dłużej bo jest warunek
Kod: C / C++
Więc musi program sprawdzić kolejny warunek i wszystko wykonuje się dłużej..
Czy da się jakoś nad tym 'zapanować' aby każda linia była wykonywana w tym samym czasie?
Jak sobie z tym poradzić??
P.S program ma wyświetlać napis TAMA w ramce na ekranie TV
