Forum: Mikrocontroller und Digitale Elektronik LED-Cube + LCD-Modul TC1602E-01 mit Evaluierungsboard


von Marvin R. (razer185)


Angehängte Dateien:

Lesenswert?

Hey Leute,
habe momentan ein LED-Cube Projekt, das ganze läuft über das normale 
Atmel Evaluierungsboard mit einem Atmega16, davon hab ich ein40 poliges 
Kabel auf eine externe Platine gezogen, rest siehe Schaltplan!
Desweiteren ist noch ein Decoder angeschlossen um in einem Menü 
hoch/runter zuscrollen um das gewünschte Programm auswählen zu können, 
funktioniert auch.
Doch leider hab ich einen kleinen Wurm drin, das Display zeigt momentan 
diese Hieroglyphen an:

Siehe Bild im Anhang Display.jpg


Doch manchmal funktioniert das Display auch, zeigt also mein 
programmiertes Programm dazu an...

Hat jemand dazu evtl eine Lösung wodran das liegen kann?

mfg Marvin

von gordon51freeman (Gast)


Lesenswert?

Müsstest mal in der ASCII Tabelle nachschauen, was das für Codes sind. 
Wenn du danach einen Blick in dein Programm wirfst, weisst du schon 
mehr.
Irgendwas vertauscht oder so.

Gruss
Gordon

von Marvin R. (razer185)


Lesenswert?

Das komische ist ja, dass es mit einem anderen Board kurzzeitig 
funktionierte, bzw. funktionierte es vor 3Stunden auch noch, doch dann 
macht es faxen!

von holger (Gast)


Lesenswert?

>funktionierte es vor 3Stunden auch noch, doch dann
>macht es faxen!

Manchmal dauert es halt bis ein Bufferindex oder der Stack überläuft;)

von Marvin R. (razer185)


Lesenswert?

Auch ohne das Programm werden mir die Hieroglyphen angezeigt...
Wie muss ich die denn konvertieren, dass mir was gescheites angezeigt 
wird?
Habe momentan nur das hier drin:
1
#define F_CPU  16000000UL
2
3
#include <avr/io.h>
4
#include <stdlib.h>
5
#include <util/delay.h>
6
#include <avr/iom16.h>
7
#include <avr/interrupt.h>
8
#include "lcd-routines.c"
9
#include "LED-Cube_Prog.h"
10
11
#define Programmamzahl 8
12
#define Textlaenge 17
13
14
int main(void)
15
{
16
  // Schaltet Ports frei
17
  DDRD = 0xFF;
18
19
  lcd_clear();
20
  lcd_setcursor(0,1);
21
  lcd_string("LED-Cube bereit!");
22
  lcd_setcursor(0,2);
23
  lcd_string("Drehen fuer Menu");
24
25
    while(1)
26
    {
27
       
28
  }
29
  
30
  loop: goto loop;
31
}
Wo musste man noch glatt online den Code einfügen?^^

von Lisa (Gast)


Lesenswert?

Kann es sein, dass du lcd_init() und lcd_enable() noch aufrufen musst?
Evtl. gleich am Beginn noch ein Delay einbauen...

von Marvin R. (razer185)


Lesenswert?

Mit LCD_init und Enable schaut es schonmal ganz gut aus, das 
Testprogramm zumindest, doch das mein Quellcode jetzt schon 9306 Byte 
hat ist wohl auch nicht ganz normal...

von Lisa (Gast)


Lesenswert?

Brauchst du echt alle Header? avr/io.h und avr/iom16.h tun doch das 
gleiche. Und die stdlib.h braucht man auch nicht zwingend. Wenn du 
Zahlen in ASCII umwandeln willst, musst du auf den Wert nur 0x60 
draufzählen.
Weiss nicht wie viel das ausmacht, aber sonst is ja net viel da!

von Route_66 (Gast)


Lesenswert?

Hallo!
Quellcode kbnn auch mehrere Megabytes haben, und dann doch in den 
1K-Tiny passen!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.