mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik byte/s zählen


Autor: DiamondDog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab n kleines problem und würde mich freuen,wenn mir jemand helfen
könnte.
habe ne leiterplatte aufgebaut, womit ich vorhabe die datenmenge über
der seriellen schnittstelle mit einem lcd anzeigen zu lassen.
zusätlich wird das bitmuster der dateien über led´s angezeigt. jeweils
für die sende und empfangsleitung.die sache mit den leds funktioniert
schon, allerdings habe ich echt kein plan, wie ich des mit dem display
realisieren soll. benutze fürs display nen at90s2313. soweit
funktionieren tut es schon, also bekomm texte auf meinem display
(1x16)wiedergegeben. würde dadrüber jetz gern die geschwindigkeit
anzeigen lassen mitwievel byte/s momentan übertragen wird.
wäre echt glücklich drüber wenn mir jemand nen kleinen anstoß für die
programmierung geben könnt.


danke im vorraus

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch ein Problem, ich verstehe nämlich deine Frage nicht
richtig, auch wenn du sie jetzt schon zum zweiten mal stellst...

Ich denke mal, du möchtest mit dem 2313 die COM-Schnittstelle
belauschen und die Anzahl der erkannten Bytes zählen und anzeigen. Wenn
das so ist, dann musst du dich entscheiden, eb du das Senden oder das
Empfangen mitzählen willst, denn der 2313 hat nur einen RX-Eingang.

Wenn das geklärt ist, dann musst du nur im 2313 die UART korrekt
initialisieren (steht im Datenblatt des 2313 unter UART), den
Empfangs-Interrupt aktivieren und bei jedem Auftreten des
Empfangs-Interrupts ein Register(paar) hochzählen.
Dann noch einen Timer-Interrupt, der einen Sekundentakt erzeugt, in
dessen ISR du den aktuellen Zählerstand auf dem LCD ausgibst und
löscht. So bekommst du jede Sekunde eine neue Ausgabe. Da das LCD ja
groß genug ist, kannst du ja zusätzlich noch die erfassten Bytes seit
dem letzten Reset anzeigen.

Also Textausgabe mit LCD klappt ja schon, wie du die Zahlen in den
Registern in anzeigbaren ASCII-Text umwandelst, wurde in den letzten
Wochen sehr oft diskutiert. Wenn du mit "im Betreff suchen" nach LCD
suchst, dann wirst du sicher fündig.

Tja, dein Vorhaben ist im Prinzip kein Problem, man muss sich nur für
eine Richtung entscheiden, RX oder TX. Beides geht nunmal nicht mit dem
2313, es sei denn, du möchtest mit dem 2313 zum PC senden, aber darin
sehe ich keinen Sinn.

Die Platine ist schon fertig? Dann kann ich mal davon ausgehen, dass da
auch ein MAX232-IC zur Pegelumsetzung drauf ist und ein
baudratentauglicher Quarz für den 2313? Einen ISP-Programmer hast du
sicherlich auch und mit der AVR-Programmierung in Assembler kennst du
dich auch etwas aus?
Dann ran ans Projekt... - Datenblatt lesen, UART für RX mit Interrupt
initialisieren, Zählroutine schreiben, Timer initialisieren,
Ausgaberoutine (Umwandlung Integer-ASCII) schreiben...

...

Autor: DiamondDog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, ich danke dir, tut mir leid wenn mein vorhaben nich ganz so
rübergekommen ist, aber hasts ja verstanden. programmiern tu ich die
sache mit über bascom mit ner stk 500 und den takt bekomm ich von nem
4MHz quartz.die einzigste sache is halt noch die assembler
programmierung, aber ich gucke ma was sich machen lässt.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4MHz ist aber nicht baudratentauglich, da wäre 3,6864MHz besser.

In BASCOM müsste das auch realisierbar sein.
Davon habe ich aber keine Ahnung, Assembler ist mir lieber, das ist
einfacher. Da schreibt man nur die entsprechenden Werte laut Datenblatt
in die entsprechenden I/O-Register und schon funktionieren Timer,
Interrupts, UART und all der andere Krams wie gewollt.

...

Autor: DiamondDog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja leider lernen wir es mit bascom, bzw. avr-studio.
in der berechnung war der 4mhz mit ner fehlerrate von 0,16%. damit kann
ich leben. gut, des einzigste prob wird wie gesagt die programmierung
der rest funktioniert erstma laut testaufbau.
nagut werd mich ma denn ransetzen,
kann schreiben wenn ich ne lösung gefunden hab.

einen schönen abend noch!

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ja leider lernen wir es mit bascom, bzw. avr-studio.

Wer ist "wir"??

Mit AVR-Studio programmiere ich auch, das ist ja AVR-Assembler.

BASCOM ist nicht transparent genug, es ist zu weit von der Hardware
entfernt. Ich mag es daher nicht. Ein AVR kann kein BASIC, er kann nur
Maschinencode. Und Assembler entspricht 1 zu 1 Maschinencode. BASCOM
erzeugt zwar auch Maschinencode, zeigt ihn aber nicht in ASM. Da ich
aber gern weiß, was ich tue, kann ich sowas nicht gebrauchen. Das macht
irgendwie dumm. Also versuche ich ohne BASCOM auszukommen. Beispiele
findest du auf www.hanneslux.de.

...

Autor: DiamondDog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den link, hab ich ja was zutun.
mit wir meinte ich unsere klasse. soweit komm ich ganz gut klar, halt
mit avr programmierung haperts bei mir bisschen, da komm ich ned so
ganz hinterher

Autor: DiamondDog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
edit

bin halt noch sehr weit am anfang und hab so gut wie noch keine ahnung,
war schon glücklich als ich die leds durchzählen lassen konnte.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aller Anfang ist schwer... Auch ich habe mit Kleinstprogrämmchen
angefangen...

...

Autor: DiamondDog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann werd ich mich ma ransetzen und probieren.
aber danke für die hilfe.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Auch ich habe mit Kleinstprogrämmchen angefangen...

boaa... klingt das geschwollen ;) (<-- ein Smilie...)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kleinstprogrämmchen ...

Jou, inzwischen sind aber keine "Kleinstprogrämmchen" mehr, sondern
"kleine Programme". Die "großen Programme" überlasse ich den
Profis.

> boaa... klingt das geschwollen

Sollte es auch...

Grüß die Sprotten... ;-)

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.