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
hero2992 schrieb:
> Ist es überhaupt möglich?
Ja.
>Wie muss ich vorgehen?
Bedienungsanleitung lesen. Sowohl von Bascom
als auch von deinem Gerät.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.