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

T6963C Atmega32 Brak odczytu statusu.

CRDReed 09 Lis 2010 22:24 752 0
REKLAMA
  • #1 8724053
    CRDReed
    Poziom 11  
    Zakupiłem wyświetlacz lcd 256x128 z firmy Artronic oparty na sterowniku T6963c. Szukam odpowiedzi na pytanie dlaczego mój sterownik nie zwraca statusu poprzez funkcję GLCD_ChceckStatus(). Czy jest to spowodowane złym podłączeniem wyświetlacza do Atmegi32, przez co sam sterownik jest uśpiony?

    Oprogramowanie pochodzi z strony: http://en.radzio.dxp.pl/t6963/

    1 - A - GND
    2 - K - 5V
    3 - Vout - nie podłączone
    4 - V0 -regulowane napięcie ujemne, własne rozwiązanie.
    5 - PD -nie podłączone
    6 - VSS - GND
    7 - VDD - 5V
    8 - VEE - nie podłączone
    9 - /WR - PC0
    10 - /RD - PC1
    11 - /CE - PC2
    12 - C/D - PC3
    13 - /RST - PC4
    14-21 - DB0-DB7 - PA0-PA7
    22 - FS - PC5



    Poniższa funkcja nie zwraca mi żadnej wartości przez zmienną tmp. Czy sterownik jest uśpiony? return tmp


    
    unsigned char GLCD_ChceckStatus(void)
    {
    
    uint8_t tmp;
    GLCD_DATA_DDR = 0x00;
    
    GLCD_CTRL_PORT &= ~((1 << GLCD_RD) | (1 << GLCD_CE));
    delay();
    
    tmp = GLCD_DATA_PIN;
    
    GLCD_DATA_DDR = 0xFF;
    GLCD_CTRL_PORT |= ((1 << GLCD_RD) | (1 << GLCD_CE));
    
    PORTD=tmp;
    return tmp;
    }
    


    Poniżej przedstawiłem przykładowe użycie funkcji GLCD_ChceckStatus().

    
    void GLCD_WriteData(unsigned char data)
    {
    while(!(GLCD_ChceckStatus()&0x03));
    GLCD_DATA_PORT = data;
    PORTD=0xFF;
    
    GLCD_CTRL_PORT &= ~((1 << GLCD_WR) | (1 << GLCD_CE) | (1 << GLCD_CD));
    delay();
    GLCD_CTRL_PORT |= ((1 << GLCD_WR) | (1 << GLCD_CE) | (1 << GLCD_CD));
    }
    
  • REKLAMA
REKLAMA