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

Attiny2313 + LCD 2x16 nie wyswietla znaków

szarley 10 Wrz 2009 09:05 3580 9
REKLAMA
  • #1 7001453
    szarley
    Poziom 10  
    Do uruchomienia LCD korzystam z : Radzio
    Interfejs 4 bitowy
    Mój kod :
    Cytat:
    #define F_CPU 8000000L
    #include <avr/io.h>
    #include <util/delay.h>
    #include <compat/deprecated.h>
    #include "HD44780.h"
    #include "HD44780.c"
    #define LED_PORT PORTD
    #define LED1 PD5
    #define LED2 PD6
    #define GUZIK PORTB
    #define PRZYCISK_1 0
    #define PRZYCISK_2 1



    // cbi-> 1 sbi ->0


    //MAIN
    int main(void)
    {
    _delay_ms(3000);
    LCD_Initalize();
    LCD_Home();
    while(1){

    char txt[] = {"B"};
    _delay_ms(1000);
    LCD_WriteText(txt);

    }

    return 0;
    }

    Lcd uruchamia się ( najepierw są prostokąty później po 3 s czyści ekran , wygląda ze funkcja inicjalizacyjna zadziałała )
    LCD_home pojawia sie kursor na początku ( lewy górny róg )
    W chwili wywoływania co 1s funkcji LCD_WriteText kursor przesuwa się o jedno pole w prawo nie wypisując nic na lcd.
    Gdy char txt[] = {"BB"}; przesuwa sie o 2 pola nic nie wyświetlając.

    Co może być nie tak ? sygnały nie dochodzą ? ścieżki są zmierzone i mają ciągłość.
  • REKLAMA
  • #2 7002314
    Cubaza
    Poziom 14  
    A sprawdź funkcję:
    LCD_WriteData(txt);
    zamiast:
    LCD_WriteText(txt);
  • REKLAMA
  • #3 7003665
    szarley
    Poziom 10  
    niestety podobne działanie ( nic nie wyświetla )z tą różnicą ze kursor przesuwa się o jedno pole.
    oczywiście musiałem podać jako argument : (unsigned char) txt
    Cytat:
    LCD_WriteData ((unsigned char)txt[0]);

    writedata przyjmuje tylko unsigned char.
  • REKLAMA
  • REKLAMA
  • #5 7003837
    szarley
    Poziom 10  
    niestety efekt ten sam :/ , jutro spróbuje na drugim LCD .
    Cytat:
    #define F_CPU 8000000L
    #include <avr/io.h>
    #include <util/delay.h>
    #include <compat/deprecated.h>
    #include "HD44780.h"
    #include "HD44780.c"
    #define LED_PORT PORTD
    #define LED1 PD5
    #define LED2 PD6
    #define GUZIK PORTB
    #define PRZYCISK_1 0
    #define PRZYCISK_2 1

    // cbi-> 1 sbi ->0

    //MAIN
    int main(void)
    {
    //DDRD = 0xff;
    //DDRB = 0xff;
    _delay_ms(3000);

    LCD_Initalize();
    LCD_Home();

    while(1){


    _delay_ms(1000);
    LCD_WriteText("Ala ma kota");

    _delay_ms(1000);
    LCD_WriteText("HEHEHEEH !");

    _delay_ms(1000);


    }



    return 0;
    }
  • #7 7053577
    curylop
    Poziom 16  
    Witam. Masz podłączone nie wykorzystane piny wyświetlacza do masy?
  • #8 7053816
    szarley
    Poziom 10  
    Schemacik w załączniku.
    LCD to : RC1602B kupiony na tme

    w sumie u mnie wiszą luzem zbędne wyprowadzenia , :D podepnę pod masę i sprawdzę.

    Tak przy okazji czy na tym schemacie jest poprawnie podpięty max232 ?
  • #10 7055240
    Konto nie istnieje
    Poziom 1  
REKLAMA