Forum: Mikrocontroller und Digitale Elektronik Daten einer R232 Schnittstelle mit ATmega 8 lesen


von hero2992 (Gast)


Lesenswert?

Hallo

ich möchte mit meinem ATmega8 µController daten einer seriellen 
schnitstelle lesen und dann speichern.

Ich möchte eine Zugangskontrolle per Transponder machen und das 
Transponder-Lesegerät verfügt über eine Serielle Schnittstelle.

Ist es überhaupt möglich?

(Ich programmiere mit BASCom.)

MFG. Hero

von Stefan B. (stefan) Benutzerseite


Lesenswert?

hero2992 schrieb:

> Ist es überhaupt möglich?

Ja.

von hero2992 (Gast)


Lesenswert?

Wie muss ich vorgehen?

von holger (Gast)


Lesenswert?

>Wie muss ich vorgehen?

Bedienungsanleitung lesen. Sowohl von Bascom
als auch von deinem Gerät.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Forsche diesen Fragen nach:

Welche Daten kommen aus dem Transponder-Lesegerät?

Ist die "Serielle Schnittstelle" eine RS232 oder was anderes?

Ist der ATmega8 nackig, d.h. du musst basteln, oder auf einer Platine 
mit zusätzlichen Bauteilen?

Was (wie häufig, wie lange...) soll der ATmega8 wo speichern?

von hero2992 (Gast)


Lesenswert?

Das Lesegerät gibt einen Zahlen und Buchstaben code der ein transponder 
besitzt.

Die schnitstelle am lesegerät ist eine RS232.

Der atmega 8 befindet sich auf einer "experimentir" platine von MyAVR.

ich besitze das My AVR Board MK2 USB Plus

der Atmega 8 soll speichern wann (externe uhr => wird aber erst später 
eingebaut),und wer den Zugang versucht (transpondernummer)

MFG. Hero

von holger (Gast)


Lesenswert?

>der Atmega 8 soll speichern wann (externe uhr => wird aber erst später
>eingebaut),und wer den Zugang versucht (transpondernummer)

Und wo ist jetzt das Problem?

ATMega mit Lesegerät verbinden.
Transpondernummer empfangen und speichern.

Bascom zu benutzen bedeutet nicht eigenes denken
zu vermeiden.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

MK1 Board?

Speicher wäre dann wohl das EEPROM des Atmega8s, weil auf dem 
einfachen myAVR Board kein anderer dauerhafter Speicher drauf ist?

Die rel. kleine Grösse des Speichers (512 Bytes EEPROM) schränkt dann 
die Menge der aufzeichenbaren Logdaten deutlich ein!

Bei der Planung solltest dir Gedanken über das (un)erwartete? 
Datenvolumen machen und präventiv an eine Speichererweiterung denken. 
Beispielsweise ein grösseres, externes EEPROM mit TWI Anschluss.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die nächsten Teilaufgaben sind:

Wie kann man zu Debugzwecken eine LED-Anzeige programmieren?

Wie empfängt man serielle Daten vom Transponder-Lesegerät (Ersatz PC)?
Sind bekannte Prüfdaten korrekt?

Wie speichert man Daten ins EEPROM?
Und wie liest man sie dort wieder aus?
Sind bekannte Prüfdaten korrekt?

Wie sendet man serielle Daten zum PC?
Sind bekannte Prüfdaten korrekt?

von ccoder (Gast)


Lesenswert?

Wer oder Was ist Bascom?
Programmiere mit C, dann bist Du besser dran.
Es gibt genügend freie Programmbibliotheken für C. Und C-Beispiele sind 
auch im Datenblatt vorhanden.

von spess53 (Gast)


Lesenswert?

Hi

>Wer oder Was ist Bascom?
>Programmiere mit C, dann bist Du besser dran.

Mit dieser Überheblichkeit bist du nicht gerade eine Zierde der 
C-Jüngerschaft. Ich programmiere µP/µC seit fast 30 Jahren in Assembler 
und hatte noch kein Problem, das ich damit nicht lösen konnte. Ich habe 
deshalb auch keine Lust auf C. Also unterlasse deine plumpen 
Bekehrungsversuche.

MfG Spess

von ccoder (Gast)


Lesenswert?

Was ich damit ausdrücken will, ist dass es einfach vielmehr freie 
Codevorlagen in C gibt, als für Bascom. Man lädt sich die avr-gcc 
toolchain auf einem Linuxcomputer herunter oder nutzt avrstudio unter 
unter windows
und kann gleich loslegen. Beides freie Software.
C hat den Vorteil unter Linux, dass es die Sprache ist, aus der Linux 
gestrickt ist. Basic ist einfach mühseelig und kostet zudem noch.
Natürlich ist es noch besser in Assembler zu programmieren, da man 
gleichzeitig die Hardware versteht. Aber eben für einen Anfänger 
komplizierter. Trotzdem kann man assemblerroutinen auch gut in C 
einbinden.

Deswegen nocheinmal meine Empfehlung für C und ich entschuldige mich für 
meine Überheblichkeit gegen über Bascom.
grüsse cc

von real_skydiver (Gast)


Lesenswert?

> Mit dieser Überheblichkeit bist du nicht gerade eine Zierde der
> C-Jüngerschaft. Ich programmiere µP/µC seit fast 30 Jahren in Assembler
> und hatte noch kein Problem, das ich damit nicht lösen konnte. Ich habe
> deshalb auch keine Lust auf C. Also unterlasse deine plumpen
> Bekehrungsversuche.

Danke! Aus der Seele gesprochen ;)

von real_skydiver (Gast)


Lesenswert?

> C hat den Vorteil unter Linux, dass es die Sprache ist, aus der Linux
> gestrickt ist.
Ok, was meinst Du in was andere OS programmiert sind? Windows in Pascal? 
Solaris in .NET???

von spess53 (Gast)


Lesenswert?

Hi

OK. Mich stört an BASCOM am meisten, das der Eindruck erweckt wird, das 
man ohne Kenntnis der Controller und anderer Grundlagen programmieren zu 
können. Beim ersten Problem, das BASCOM nicht schon vorgekaut hat fängt 
das Rätselraten an.

>Trotzdem kann man assemblerroutinen auch gut in C einbinden.

Geht auch in BASCOM.

MfG Spess

von Gast (Gast)


Lesenswert?

Wieso geht es hier auf einmal um Linux?
Was du für cool hältst interessiert hero2992 bestimmt nicht und 
programmieren sollte man mit der Sprache, die man am besten beherrscht.

Wenn jemand mit Basic an die Grezen stößt wird er vielleicht zu C oder 
Asm wechseln, kann gut sein. Aber wenn die Funktion eines einfachen 
Programms wie dem hier geplanten und nicht der Nerdfaktor an erster 
Stelle steht sollte es doch jedem selbst überlassen sein mit welcher 
Sprache und erst recht unter welchem OS er arbeitet.

Woher kommt unter Linuxjüngern diese starke Ablehnung gegenüber allem 
was fremd ist und den Drang andere zu bekehren? Kommt ihr dafür in den 
Kuscheltuxhimmel?

von ccoder (Gast)


Lesenswert?

Windows ist natürlich auch in C programmiert. Aber keiner darf den 
Quellcode wissen. Und das ist genau der Unterschied zu Linux. Man bleibt 
"blöd" (entschuldigung für die Überheblichkeit), weil man nicht 
versteht, wie das Programm funktioniert.
Oft weiss das der Programmierer auch nicht, aber man kann immer eine 
neue Version kaufen oder ein update installieren können. Und keiner wird 
die neuen Fehler finden.
Da Sources von Linux offen liegen, ist es auch viel leichter möglich 
eine
AVR-Hardware mit Linux kommunizieren zu lassen.

von freiekleider (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

ccoder schrieb:

> Da Sources von Linux offen liegen, ist es auch viel leichter möglich
> eine
> AVR-Hardware mit Linux kommunizieren zu lassen.

Entschuldige: Aber das ist ausgemachter Schmarrn.

Ausserdem geht es hier gar nicht darum, wie gut oder schlecht Linux ist, 
oder in welcher Sprache das Betriebssystem geschrieben ist. Und wenn du 
zum Ansprechen der serielle Schnittstelle in Windows den Source Code von 
Windows brauchst, dann machst du etwas grundsätzlich falsch.

Die Aufgabe kann mit BASCOM wunderbar gelöst werden. Noch viel 
einfacher, als du es in C mit deinen externen Bibliotheken je kannst. 
Der springende Punkt ist ganz einfach: Man muss sich auch mit BASCOM 
beschäftigen. Man muss sich auch mit dem µC selbst beschäftigen (ok, in 
dieser Anwendung vielleicht nicht so stark wie in anderen, weil BASCOM 
alle benötigten Komponenten schon mitbringt und diese nur noch 
miteinander verküpft werden müssen). Aber man muss sich damit 
beschäftigen. Nur weil man BASCOM benutzt, schreibt sich das Programm 
nicht von alleine.

Und genau darum geht es: Das hier immer wieder Anfragen von BASCOM 
Jüngern auftauchen, die der Meinung sind ein Schachprogramm sähe so aus

  "play chess"
  "end"

von C-ler (Gast)


Lesenswert?

Was halt leider immer wieder auffällt ist das die faulsten Deppen 
meistens mit BASCOM ankommen.
Darum hat sich zumindest bei mir festgesetzt das BASCOM == Lernunwillig 
und faul bedeutet.
Was Spess mit seinem ASM angeht, klar kannst du mit Assembler 
grundsätzlich immer alles tun, liegt in der Natur der Sache, nur ist mir 
zumindest meistens die Zeit dafür zu Schade; Wohl auch ein Grund warum 
Hochsprachen entwickelt wurden.

von hero2992 (Gast)


Lesenswert?

hallo ich bedanke mich vielmals für die vielen Kommentare, auch wenn sie 
mir bissher nicht weiterhelfen konnten.

wenn mir jemand sagen könnte wie ich die daten die ich zur ISP (die sich 
auf dem mysmartusb-mk2 befindet) geschickt bekomme , gelesen bekomme 
währe ich sehr Dankbar.

ich möchte mich entschuldigen das ich noch nicht viel fachwissen besitze 
aber jeder fänkt mal klein an.

MFG. hero2992

von Karl H. (kbuchegg)


Lesenswert?

hero2992 schrieb:

> ich möchte mich entschuldigen das ich noch nicht viel fachwissen besitze
> aber jeder fänkt mal klein an.

Schon richtig.

Also:
Was von deinem Projekt kriegst du alleine hin?
Bei welchen Abschnitten der im Web verfügbaren Tutorien steigst du aus?

Im Regelfall hilft es sich leichter, wenn jemand etwas präsentiert und 
dazusagt: so geht dieses und jenes nicht, wo hab ich den Denkfehler?

Solche Rundumschläge alla "Hilfe. Kann mir wer zeigen wies geht, am 
besten gleich mein ganzes Projekt" sind nicht gerne gesehen. 
Schliesslich lautet ja deine Ausgangslage "Ich möchte eine 
Zugangskontrolle ...". Mit der Betonung auf ICH.

von P. S. (Gast)


Lesenswert?

C-ler schrieb:
> Was halt leider immer wieder auffällt ist das die faulsten Deppen
> meistens mit BASCOM ankommen.

Lesen wir das gleiche Forum? Hier ist mindestens eine faule C-Anfrage am 
Tag, Bascom-Anfragen lese ich hier ueberhaupt kaum - vieleicht eine pro 
Woche.

von Karl H. (kbuchegg)


Lesenswert?

Peter Stegemann schrieb:

> Lesen wir das gleiche Forum? Hier ist mindestens eine faule C-Anfrage am
> Tag, Bascom-Anfragen lese ich hier ueberhaupt kaum - vieleicht eine pro
> Woche.

Aber die meisten davon sind schon von der Form:
Ich will nicht selber im Datenblatt nachsehen?
Datenblatt, was ist denn das?
Was, für BASCOM gibt es auch eine Online-Hilfe?
Google, wie geht das?
Hab zwar keine Ahnung, will aber machen!


Was nicht heißen soll, dass ich alle BASCOM Programmierer so einschätze. 
Mit nichten! Es geht nur um einen nicht unerklecklichen Anteil an 
Fragern hier im Forum.

von P. S. (Gast)


Lesenswert?

Karl heinz Buchegger schrieb:

> Aber die meisten davon sind schon von der Form:

So wie die bei C auch - heute morgen 4 von 5 C-Problemthreads nur Leute 
die gestern noch in der Nase gebohrt haben und heute ein dickes Projekt 
in C abwickeln wollen, ohne je ein Buch in der Hand gehabt zu haben. Ich 
sehe da keinen Unterschied zwischen C- und Bascom-Anfaengern - nur 
tauchen von ersteren hier zig Mal so viele auf. Leider bringt es ja auch 
nix, den Anfaengern ein HowTo hinzulegen, das lesen sie ja auch nicht 
:-(

von Peter D. (peda)


Lesenswert?

hero2992 schrieb:
> aber jeder fänkt mal klein an.

Ja, dazu würde ich auch raten.
Also erstmal LED blinken, LED über Taste ein/aus, UART an Hyperterminal, 
...)
Dann hast Du schonmal Grundkenntnisse von Deinem Bord und der Toolchain.


Und wenns dann an eigene Projekte geht, mach zuallererst nen 
Programmablaufplan!
Einfach drauflos schreiben bringt Dir nur Frust und kostet Dich 
obendrein nen Haufen Zeit.


Peter

von Stefan B. (stefan) Benutzerseite


Lesenswert?

hero2992 schrieb:

> hallo ich bedanke mich vielmals für die vielen Kommentare, auch wenn sie
> mir bissher nicht weiterhelfen konnten.

Ich bin raus.

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.