- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 5 von 5

Thema: EA DOGS 102-6 tut was es will und nicht was es soll;)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.313
    Von C hab ich keine Ahnung, aber ...... das Display kann nur geschrieben also nicht gelesen werden und du mußt immer mindestens ein Byte also 8 Pixel schreiben. Daraus folgt, daß du das Display-RAM im Controller-RAM abbilden mußt, darin deine Zeichenoperationen machst und das Bild mit einem Display-Refresh komplett übertragen mußt. Das heißt aber auch, daß du 102x64/8=864 Byte deines Controller-RAMs schon dafür reservieren mußt. Ich würde sagen, daß dein Controller zu klein ist.
    Ich programmiere mit AVRCo

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.06.2011
    Ort
    Dresden
    Beiträge
    219
    Hi,
    ein paar codeschnipsel aus meiner ansteuerung, ich steuere das ding nicht via spi an, einfach nur durch takt und daten.

    DOGS102_tx_byte(byte b, byte typ)
    {
    byte i;
    LCD_CLR_CS;
    if(typ) LCD_SEND_DATA;
    else LCD_SEND_CMD;
    for(i=0;i<8;i++)
    {
    LCD_CLR_CLK;
    if(b>0x7F) LCD_SET_DATA;
    else LCD_CLR_DATA;
    b<<=1;
    LCD_SET_CLK;
    }
    LCD_SET_CS;
    }

    DOGS102_set_col_addr(byte adr)
    {
    DOGS102_tx_byte(adr & 0x0F, 0);
    DOGS102_tx_byte((adr >> 4) | 0x10, 0);
    }

    DOGS102_set_page_addr(byte adr)
    {
    DOGS102_tx_byte((adr & 7) | 0xB0, 0);
    }

    DOGS102_clear()
    {
    byte c, p;
    for(p=0;p<8;p++)
    {
    for(c=30;c<132;c++)
    {
    DOGS102_set_page_addr(p);
    DOGS102_set_col_addr(c);
    DOGS102_tx_byte(0,1);
    }
    }
    }


    DOGS102_clear_line(byte line)
    {
    byte col;
    for(col=30; col<132; col++)
    {
    DOGS102_set_page_addr(2*line);
    DOGS102_set_col_addr(col);
    DOGS102_tx_byte(0,1);
    DOGS102_set_page_addr(2*line+1);
    DOGS102_set_col_addr(col);
    DOGS102_tx_byte(0, 1);
    }
    }

    byte DOGS102_write_char_at(char c, char line, char col) // line 0..3, col 30..131
    {
    byte i;
    flash char* chpt=char_table[c-ch_offset];
    for(i=0; i<char_width[c-ch_offset]; i++)
    {
    DOGS102_set_page_addr(2*line);
    DOGS102_set_col_addr(col+30);
    DOGS102_tx_byte(*chpt++,1);
    DOGS102_set_page_addr(2*line+1);
    DOGS102_set_col_addr(col+30);
    DOGS102_tx_byte(*chpt++, 1);
    col++;
    }
    return (col);
    }

    vielleicht hiflts weiter.
    mfg
    Achim

Ähnliche Themen

  1. Pin Abrfrage tut nicht so wie sie soll (happert bei der Maskierung)
    Von Thor_ im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 22.09.2013, 09:09
  2. Gyro tut nicht so wie er soll
    Von Keksstar im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 15.08.2009, 15:22
  3. Timer soll zählen, tut er aber nicht. Hilfe!! :)
    Von robo-man im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 19.07.2009, 20:08
  4. Antworten: 13
    Letzter Beitrag: 24.10.2005, 13:52
  5. servo tut nicht, was er soll
    Von Goblin im Forum Motoren
    Antworten: 12
    Letzter Beitrag: 08.05.2005, 21:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress