Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

atmega128, przewijanie tekstu

reggy21 22 Sty 2011 22:38 647 0
  • #1 22 Sty 2011 22:38
    reggy21
    Poziom 1  

    Witam, jestem nowym użytkownikiem forum. Mam następujący problem. Musze stworzyć program który będzie obsługiwał atmega'e128. Program ma wyglądać następująco :
    ANIMACJA TEKSTU W LEWO - TEKST DOWOLNY - WCIŚNIECIE KLAWISZA I TRZYMANIE PG2 ZMIENIA KIERUNEK ANIMACJI, PO PUSZCZENIU PG2 KIERUNEK SIĘ PRZYWRACA.

    Narazie zrobiłem to :


    #include <avr\io.h> // Most basic include files
    #include <avr\interrupt.h> // Add the necessary ones
    #include <avr\signal.h> // here
    #include <avr\delay.h>

    int My_global;


    SIGNAL(SIG_INTERRUPT0) {

    }

    void my_function(void) { // Put the open brace '{' here

    asm("nop"); // Inline assembly example
    }
    void hw_init(void)
    {

    DDRA=0xff;
    DDRE=0xff;

    }

    char kod_znaku[10] = {

    0x5b , // 2
    0x4f , // 3
    0x66 , // 4
    0x6d , // 5
    };
    void display (char znaki[4])
    {
    char k;
    for(k=0;k<4;k++)
    {
    PORTE = (1<<(7-k)); // k+4 <---- zmiana w druga strone
    PORTA = kod_znaku[znaki[k]];
    _delay_ms(20);
    }

    }


    int main(void) {
    hw_init();
    char znaki[4]={0, 1, 2, 3 }; // ??
    while(1) {
    display(znaki);
    }
    }

    wiem że chyba tam musi być coś zmienione. Nie mam zielonego pojęcia jak zrobić żeby program używał tego przycisku PG2. Jestem laikiem co widać na pierwszy rzut oka, więc proszę o podpowiedz czy tez gotowy kod i lekkim wytłumaczeniem. :cry::cry:

    0 0