logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR,Matryca LED, rejestry 74hc595, generator znaków,

adam220 07 Lis 2018 14:31 540 4
REKLAMA
  • #1 17544159
    adam220
    Poziom 14  
    Witam,
    mam matrycę diodową. Rzędy i kolumny sterowne z rejestrów przesuwnych 74595.
    Mogę do wierszy wysyłać dane i zapalać pojedyncze wiersze po kolei uzyskując obraz.

    Chciałbym zrobić własne tablice znaków (powiedzmy 5x7pixeli) i wyświetlać je.
    I tu pytanie.
    Jak przeliczać współrzędne na matrycy na sekwencje wysyłane do wierszy wyświetlacza?
    Rozumuję tak: Zakładając że znaki przechowuję w tablicy 5x7 i pierwszy chcę wyświetlić
    górnym prawym rogiem na współrzędnej 1,1 wyświetlacza,
    muszę nadpisać pierwszych pięć pikseli wiersza pikselami z tablicy znaku.
    W drugim wierszu to samo. I tak do 7-go.
    Jeśli znak stoi za znakiem to nadpisuję nie pierwsze 5 ale drugie 5 znaków. itd

    Brzmi prosto, ale jak to ogarnąć w programie?

    Na razie wymyśliłem tak: Tablica o wymiarach wyświetlacza jest w pamięci
    i funkcja modyfikuje jej zawartość "wklejając" znaki na odpowiednich współrzędnych.
    A gdy tablica jest gotowa to następuje wysyłka wiersz po wierszu na rejestry.

    Proszę o sprawdzone rady albo przykład algorytmu.
  • REKLAMA
  • #2 17544221
    excray
    Poziom 41  
    Ciężko zrozumieć co masz na myśli. Chaos panuje w Twojej wypowiedzi. Jeśli chcesz wyświetlać bitmapy to najlepiej stworzyć w pamięci mikrokontrolera odpowiednik bitowy wyświetlanego obrazu, go modyfikować i co jakiś czas wysyłać do wyświetlacza. Jeśli będzie wyświetlany tylko tekst to stworzyć string a dalej tak samo jak przy bitmapie.
  • REKLAMA
  • #3 17544326
    adam220
    Poziom 14  
    excray napisał:
    Ciężko zrozumieć co masz na myśli. Chaos panuje w Twojej wypowiedzi.

    Może to tylko niechęć do zrozumienia posta? Starałem się:)
    excray napisał:
    Jeśli chcesz wyświetlać bitmapy to najlepiej stworzyć w pamięci mikrokontrolera odpowiednik bitowy wyświetlanego obrazu,

    Np w postaci tablicy o wymiarach wyświetlacza?
    excray napisał:
    go modyfikować

    Np funkcją która nadpisuje wiersze tej tablicy wierszami pobranymi z tablicy znaku?

    Jeśli tak - to właśnie to napisałem.
    Pytanie dotyczy praktycznych wskazówek jak to zrobić.
    Np maskami bitowymi?
    Jak stworzyć maskę która nadpisuje n bitów poczynając od m-tego?
    Wykonując n razy shift?
    Teoretyzować trochę potrafię, potrzebna praktyczna rada.
  • REKLAMA
  • #4 17544366
    excray
    Poziom 41  
    adam220 napisał:
    Pytanie dotyczy praktycznych wskazówek jak to zrobić.

    Najłatwiej, używając operatora przypisania.
  • #5 17544550
    tmf
    VIP Zasłużony dla elektroda
    adam220 napisał:
    Proszę o sprawdzone rady albo przykład algorytmu.

    Ściągnij sobie przykłady z linków w mojej stopce - np. w książce "Język C..." masz darmowe przykłądy sterowania matrycą. Bo domyślam się, że stosujesz sterowanie multipleksowe? Wystarczy więc zmodyfikować zawartość tablicy przechowującej dane do wyświetlenia, matryca zaktualizuje się sama podczas kolejnego cyklu odświeżania.
REKLAMA