Mikrocontroller und Digitale Elektronik
›
Thread
Problem mit pseudografischer Ansteuerung
M
Markus
Gast
19.08.2011 00:14
#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
JV
Jaan van Houten
Gast
19.08.2011 20:51
#2312476
Ist es nicht so dass sich da nur 7 laden lassen
S
spess53
Gast
19.08.2011 21:00
#2312485
Hi
>Ist es nicht so dass sich da nur 7 laden lassen
Nein, acht.
MfG Spess
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
Noch kein Account?
Die Registrierung ist kostenlos und dauert nur eine Minute.
Jetzt registrieren