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

własne znaki w hd47780, jak to zrobić w C?

bisz 03 Sty 2010 17:28 2407 7
REKLAMA
  • #1 7479045
    bisz
    Poziom 18  
    Witam. Rozpracowąłem bibliotekę do hd47780 autorstwa Radzia.
    JEdnakoż mam problem, a raczej nie wiem jak w języku C wyświetlić włąsne znaki. Znam zasade ich powstawania na zasadzie rozkładu litery wierszami i sprowadzenia do 0 1 postaci binarnej, ale nie pamiętam jak robiło się to w C, bo widziałem gdzieś jakis czas temu na internecie przykład tylko też nie pamiętam gdzie :). Gdzie mógłbym to znaleźć ?
  • REKLAMA
  • #2 7481673
    mirekk36
    Poziom 42  
    Wysyłanie własnych znaków do LCD to nic innego jak zapis do CGRAM wyświetlacza LCD. Więc jeśli jak piszesz masz opanowaną bibliotekę do obsługi LCD to wysłanie czegość do CGRAM zamiast DDRAM nie powinno stanowić najmniejszego problemu.
  • REKLAMA
  • Pomocny post
    #3 7482407
    M. S.
    Poziom 34  
    Spróbuj tego. Mnie działało. Można jednorazowo ładować więcej znaków niż jeden modyfikując ilość znaków i dane w tablicy.

    #define kod {0,0,9,9,9,14,8,16}
    #define ilosc_zn 1
    
    void znak(void)//definicja znaku
    {
    unsigned char  zn[ilosc_zn*8] = kod;
    unsigned char x = 0;
    for(;x<ilosc_zn*8;x++)
    {
    write_command(0x40+x);
    write_char(zn[x]);
    }
    } 
  • #4 7482999
    bisz
    Poziom 18  
    Chodziło mi właśnie o rozwiązanie takie jak napisał M.S. Coprawda Ta biblioteka ma inne fukcje, ale tylko różniące się nazwami, więc spróbuję wieczorem:) Dzięki


    użyłem tego w ten sposób :

    
    #define kod {0,0,9,9,9,14,8,16} 
    #define ilosc_zn 1 
    
    void znak(void)//definicja znaku 
    { 
    unsigned char  zn[ilosc_zn*8] = kod; 
    unsigned char x = 0; 
    for(x=0;x<ilosc_zn*8;x++) 
    { 
    LCD_WriteCommand(0x40+x); 
    LCD_WriteText(zn[x]); 
    } 
    }


    wpisane przed main()

    Nic nie wyświetla
  • REKLAMA
  • #6 7486632
    bisz
    Poziom 18  
    W takim razie, pod jakim kodem (używając funkcji LCD_WriteData, znajdzie się teraz wpisany przez nią znak ?
  • REKLAMA
REKLAMA