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
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?
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
>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.
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.
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?
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.
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
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
> 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 ;)
> 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???
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
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?
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.
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"
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.
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
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.
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.
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.
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
:-(
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