LED Display Ansteuern

OP #1988934
Hallo Leute,
Ich muss als Projekt so ein LED Display siehe Anhang mit einem µC 
Atmega16 im AVR Studio programmieren und dann ansteuern können. Das 
Problem was ich jetzt hab ist, ich weiß nicht genau wie ich anfangen 
soll. Die Firma von der ich das Display habe 
[[http://praeniteo.de/laufschriften-semi-outdoor-einzeilig.html#location1]] 
hat mir ein Protokoll mitgeschickt, wo ich die Anfangsadressen, 
Checksumme usw. sehe auch im Anhang. Da ich jetzt nicht wircklich weiß 
wie es mit dem Protokoll geht, dass sie mir mitgeschickt haben bin ich 
auf eure Hilfe angewiesen. Im Internet finde ich irgendwie auch nix also 
ihr müsst mir nicht google reinschreiben. Ich brauch nur einen, der mir 
Hilft, wie ich anfangen soll und welche Information wichtig wären, um 
die Aufgabe zu lösen. In 2 Wochen sollte ich das hinbringen sonst bekomm 
ich Probleme.
Angehängte Dateien:
Gast
Franz Stieglitz schrieb:
> Ich muss als Projekt so ein LED Display siehe Anhang mit einem µC
> Atmega16 im AVR Studio programmieren und dann ansteuern können.

Muss? Oder willst du?

Also das Display kann über eine Serielle Schnittstelle gestuert werden, 
sprich du benutzt die RxD/TxD Beinchen des Prozessors und einen 
Pegelwandler dafür (z.B. Max232).

Unter Kapitel 1 E ist der Basisrahmen angegeben.
Für jede Einstellung, Daten, Text whatever wird dieser Rahmen 
entsprechend gefüllt und Byte für Byte über die Serielle Schnittstelle 
zum Display geschickt.
Fang mal mit der Hardware an:
mega16, Spannungsversorgung, ISP, Serielle Schnittstelle.
Dann gehts weiter.
:-)
OP
Floh schrieb:
> Also das Display kann über eine Serielle Schnittstelle gestuert werden,
> sprich du benutzt die RxD/TxD Beinchen des Prozessors und einen
> Pegelwandler dafür (z.B. Max232).

ja das wusste ich bereits.

Floh schrieb:
> mega16, Spannungsversorgung, ISP, Serielle Schnittstelle.
> Dann gehts weiter.

Die Hardware hab ich schon gemacht also Pegelwandler mit MAX232

Wie füll ich diesen Rahmen^^ das ist für mich ein Problem, Kann ich das 
mit dem UDR register machen? Einfach ein Zeichen rausschicken und am 
Display anzeigen lassen. Natürlich die Anfangsbedienung am Anfang 
beinhaltet
OP
Stefan B. schrieb:
> zuerst vom PC aus mit
> einem Terminalprogramm Zeichen zu senden, bis du ein Gefühl hast, welche
> Sequenzen von Einzelzeichen was machen

das hab ich ehh schon gemacht und bis auf die Checksumme bleibt der rest 
immer gleich, und ich hab dann auch gemerkt, dass es sinnlos ist weil 
das im Protokoll ehh schon drinnen steht was mitgeliefert wurde
ja, wenn du doch schon alles kennst und gemacht hast was man vorschlägt, 
was GENAU weißt oder kannst du denn nun nicht?

beschreib mal an was dir bekannt ist oder was genau noch fehlt als 
nächster Schritt in deinem Vorgehen.

WIe willst du denn "im Wirkbetrieb" den ATMEGA16 "füttern" mit Texten, 
oder soll das immer konstant bleiben?
OP
Wegstaben Verbuchsler schrieb:
> ja, wenn du doch schon alles kennst und gemacht hast was man vorschlägt,
> was GENAU weißt oder kannst du denn nun nicht?

Also ich weiß nicht genau wie ich das mit den Adressen machen kann. Also 
die Software zu schreiben ist ein Problem für mich. Ich bräuchte nur ein 
Beispiel wie das ca. geht grob würde reichen.

Wegstaben Verbuchsler schrieb:
> WIe willst du denn "im Wirkbetrieb" den ATMEGA16 "füttern" mit Texten,
> oder soll das immer konstant bleiben?

Also ich will mit der Anzeige dann die Zeit messen, --> start, stopp 
sensor und ihr kennt sicher das Spiel "Heißer Draht", wenn man mit dem 
Griff an die Kette drankommt soll der µC die Fehler hochzählen. LED 
Display ist 2 Zeilig
--> Fehler: xx
--> Zeit: xx:xx:xx --> also nicht konstanter Text sondern die Zeit zählt 
immer weiter bis man durch den Stopp Sensor durchgefahren ist und die 
Fehler werden parallel dazu mitgezählt.

Ich möchte wissen wie man das mit dem --> Im PDF File unter --> E. 
Communication protocol. Wie man sowas übergeben kann. Bitte um HILFE
Gast
Als erstes baust du dir eine Zeichenkette zusammen:
char s[n];

s[0] bis s[4] werden mit 0x00 belegt
s[5] ist 0x01 (Start of Header)
s[6] ist Sender, einfacherweise 0xFF (für PC simulieren)
s[7] ist Empfänger, falls du nur eine Anzeige hast, mach einfach 0x00 
(Broadcast, erreicht alle angeschlossenen Geräte)

s[8] ist 0x02 (Start of Text)

s[9] ist was du tun willst, z.B. 'A' für Text schreiben

fürs Text schreiben dann bitte selber im KApitel 2 nachlesen

...

s[n-3] ist 0x03 (End of Text)

s[n-2] ist die Checksumme

s[n-1] ist 0x04 (End of Transmission)

Das wars schon mit dem Zusammenbauen, jetzt werden die Bytes s[0] bis 
s[n] nacheinander über die Serielle Schnittstelle ausgegeben.
:-)
OP
Floh schrieb:
> Als erstes baust du dir eine Zeichenkette zusammen:

static unsigned char initcommand[] = {0,0,0,0,0,1,'F','F','0','1',2};

// Siehe Kapitel 2 Text Command
// Standardheader für das Textkommando inklusive Voreinstellung für Font 
und Farbe
static unsigned char progheader[]= 
{'A','0','A','0','0','7','F','0','0','0','0','2','3','5','9',255,255,255 
,'1',0xFE,'E',0xFD,'B'};
// Abschlussbytes
static unsigned char endcommand[] = {3,0,0,0,0,4};
// Beispieltext
static unsigned char hallowelt[] = 
{'H','A','L','L','O',0x7F,'W','E','L','T',0};

Ja ich hab mal die Arrays gefüllt wie du gesagt hast. Ich hoffe das 
stimmt so

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.