Problem mit pseudografischer Ansteuerung

Gast #2311300
Guten Abend allerseits,

zu meinem Problem: Ich habe heute mit Pseudografischer Ansteuerung 
gearbeitet. Controller ATtiny2313 Display: HD44780 2x16 char an PortB 
des AVR

Ich habe den Code aus dem Forum 
Verwendet:http://www.mikrocontroller.net/articles/Pseudo-Graphische_LCD-Ansteuerung 
und ihn etwas erweitert. Jedoch gelingt es mir nicht 8 verschiedene 
eigene Zeichen zu laden. Ich habe vrsucht einen Bargraph zu realisieren, 
jedoch wird immer mindestens ein Zeichen falsch dargestellt. lade ich 
nur 7 zeichen auf das LCD, funktioniert alles. Lade ich jedoch 8, dann 
nicht. Hier der Code mit Fehler, der 8 Zeichen lädt(dachte ich 
zumindest). Zusätzlich benutze ich noch die LCD lib hier aus dem Forum.
1
 
2

3

4

5

6
#include <avr/io.h>
7
#include <stdlib.h>
8
#include "lcd-routines.h"
9

10

11

12
int main(void)
13
{
14

15
  lcd_init();
16

17

18
  uint8_t chrdata0[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F};
19
  uint8_t chrdata1[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F};
20
  uint8_t chrdata2[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F};
21
  uint8_t chrdata3[8] = {0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F};
22
  uint8_t chrdata4[8] = {0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F};
23
  uint8_t chrdata5[8] = {0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F};
24
  uint8_t chrdata6[8] = {0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F};
25
  uint8_t chrdata7[8] = {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F};
26

27
     
28
    lcd_generatechar(LCD_GC_CHAR0, chrdata0);
29
  lcd_generatechar(LCD_GC_CHAR1, chrdata1);
30
  lcd_generatechar(LCD_GC_CHAR2, chrdata2);
31
  lcd_generatechar(LCD_GC_CHAR3, chrdata3);
32
  lcd_generatechar(LCD_GC_CHAR4, chrdata4);
33
  lcd_generatechar(LCD_GC_CHAR5, chrdata5);
34
  lcd_generatechar(LCD_GC_CHAR6, chrdata6);
35
  lcd_generatechar(LCD_GC_CHAR7, chrdata7);
36

37

38
 
39
    lcd_setcursor(1,1);
40
    lcd_data(LCD_GC_CHAR0);
41
  lcd_setcursor(2,1);
42
    lcd_data(LCD_GC_CHAR1);
43
   lcd_setcursor(3,1);
44
    lcd_data(LCD_GC_CHAR2);
45
  lcd_setcursor(4,1);
46
    lcd_data(LCD_GC_CHAR3);
47
  lcd_setcursor(5,1);
48
    lcd_data(LCD_GC_CHAR4);
49
  lcd_setcursor(6,1);
50
    lcd_data(LCD_GC_CHAR5);
51
  lcd_setcursor(7,1);
52
    lcd_data(LCD_GC_CHAR6);
53
  lcd_setcursor(8,1);
54
    lcd_data(LCD_GC_CHAR7);
55

56

57
    while(1)
58
    {
59
    }
60

61
 
62
}

ich hoffe irgendjemand kann mir weiterhelfen.

Vielen Dank
Markus

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.