Da kann ich dir http://www.mikrocontroller.net/ empfehlen!Zitat:
Zitat von hunni
Druckbare Version
Da kann ich dir http://www.mikrocontroller.net/ empfehlen!Zitat:
Zitat von hunni
ok, ihr habt ja recht, das ich vielleicht ein weing überreagiert hab, nur wenn du nur gehört bekommst, das deine Proggerei schh... und deine bauweise sch... dann kann das doch schon mal echt aufkochend sein. Ausserdem hab ich keine Zustände in den Pins "gespeichert" oder wie ihr das meintet, sondern das sind Status LEDS die er da anmacht.
Was ist den so schlimm an Goto usw. Ich denke, wenn es diese Befehle gibt, dann sollte man sie auch nutzen. Gut sieht nicht schön aus, da habt ihr recht, aber wenn es so funktioniert.
Ich konnte halt nur nicht ab, das die dritte naricht gleich mit dem unterton das man das projkt nicht unterstützen sollte und das er zum glück 700 KM von mir weg wohnt.
Hunni
Also mit goto das ist halt so eine Sache...
Dadurch entstehen Verzweigungen, die das Programm unter Umständen ziemlich schnell unübersichtlich werden lassen.
Ich hab an der Uni in diesem Jahr an einem Projekt mitgearbeitet, welchen bestimmte ISO-Sicherheitstandards erfüllen musste. Danach sind goto's sogar explizit verboten!
Wie du siehst, sehen das scheinbar auch andere Leute so. Und dieses Wissen wollte man dir halt mitteilen. Aus Fehlern lernt man halt.
Anmerkungen zu GoTo: https://www.roboternetz.de/phpBB2/ze...ag.php?t=37563
Ich habe nicht gesagt, dein Programmierstil ist scheixxe, sondern dass das Programm weder klar strukturiert noch übersichtlich ist.
Es handelt sich um Spaghetticode, der zwischen den verschiedenen Labels hin und her springt.
Genau aus DIESEM Grund soll man Gotos vermeiden und stattdessen Prozeduren/Funktionen (in BASCOM nennt man das afaik Subs).
Gotos sind ein relikt aus alten Zeiten, von denen man sich noch nicht vollständig trennen konnte, in der heutigen, modernen, strukturierten Programmierung verwendet man aber Prozeduren/Funktionen!
Den Zustand deiner Sicherung machst du von Portpins abhängig, oder habe ich eine Variable übersehen? Du nutzt den Status deiner Ausgänge als Entscheidungsgrundlage, ob entsperrt wurde oder nicht.
Und zu deiner Schaltung: Auch diese wurde kritisiert und mögliche Probleme aufgezeigt, nicht als $InsertFäkalwortHere bezeichnet. Bist du auf die Idee gekommen, dass diese Kritik möglicherweise zurecht erfolgt ist?
CharlyMai's Vorschläge stammen von einem PROFI, der schon mehr als ein Startgerät gesehen hat.
Zum Post von Hanno: Das ist nun Mal Hannos Meinung und damit musst du auch leben können. Wenn du mit deinem Auftritt und der Idee (deines Freundes), Raketen von einem Flugzeug abzufeuern auf ihn einen so schlechten Eindruck gemacht hast, musst du dich damit abfinden.
Möglicherweise solltest du deinen Auftritt überdenken, aber die Selbstreflexion ist nicht mein Job.
mfG
Markus
Normalerweise kann ich ja Kritik ab, keine Ahnung was da in mich gefahren is.
Ich glaube ich sollte mich entschuldigen!
Der Code ist mit absicht so gemancht. Also noch mal zum Mitschreiben. Als erstes Prüft er ob die beiden schalter auf abschussposition sind. Wenn sie das nicht sind, so geht er weiter in das eigentliche Programm. Dort soll er prüfen, ob der " Entsicherungsschalter" gedrückt wurde. Wenn das so is, dann soll er weiter zum Abschießen. Wenn aller dings zuerst abschießen gedrückt wurde, dann soll er eine nicht weitergehen. Wenn man jetzt weitergekommen is, dann soll er prüfen, ob der abschussschalter betätigt wurde. Wenn das so is, dann soll er den Constantandraht 5 Sekunden glühen lassen.
Die Ports die nebenbei angeschalet werden, sind Status Leds.
hunni
Hi Hunni,
ich glaube, gerade bin ich bei deinem Bascom-Code durchgestiegen. Ist halt ein ziemliches Wirrwarr aus Goto hoch und Goto runter ;)
Schön wenn wir jetzt wieder normal diskutieren können.
Da du die Schaltung auch für deinen Gleiter und möglicherweise noch andere Einsatzzwecke verwenden willst, würde es sich sicher lohnen, einige der von CharlyMai erwähnten Funktionen zu verbauen.
Da wären also mehrere Punkte:Zitat:
Ein Watchdog sollte bei einer solchen Anwendung (wenn überhaupt) NIEMALS fehelen, ebenso wie der Brown-Out Detect ....
Datenblatt lesen .... machen ....
Um einen Zünder zuverlässig zu zünden ist auch nicht nur ein Port-Pin notwendig sondern ebenfalls eine Messung dessen (Durchgangsprüfung) und ein Leistungs-Fet und ein Kondensator um die Leistung schalten zu können (Es wird hier mit Kuzschlussströmen gearbeitet)
Hilfreich sind hier mit Sicherheit die Schaltungen für ein Zündgerät für Modellraketen welche an einen µC angepasst werden können...
Ich lege hiermit nochmals das VETO gegen eine solche Anwendung ein, da durch solche "Experimente" das Leben eines aktiven Raketenmodellbauers noch erschwert wird. Wir sind aufgrund der Gesetzeslage (Umgang mit Explosionsgefährlichen Stoffen) immer ein Dorn für die "öffentlche Hand". Fehlgeschlagene Experimente die zudem noch auf einer unsicheren Zündmethode beruhen sind nicht akzeptabel.
Und .. Ich bitte mal den Modellflieger der seine Raketen da starten möchte zu fragen, ob denn Modellraketen MIT VERSICHERT sind .... Modellraketen sind normalerweise von der Modellhaftpflicht AUSGESCHLOSSEN!!!
1. Watchdog
2. Zünderprüfung
3. Falls nicht vorhanden: Kondensatorgestützter Leistungs-FET zum zünden
4. Überdenken ob die Show es Wert ist, hohe Risiken einzugehen
5. Versicherungsfragen klären (betrifft sowohl dich als auch deinen Freund)
(6. Rechtliches: Wie von CharlyMai geschrieben, alleine dürftest du eigentlich keine Raketenmotoren erwerben oder fliegen)
7. Was ist bei einem Reset? Löst dann die Rakete aus (aktivierter Pullup bei Reset, siehe Datasheet und CharlyMais Aussage)? Da braucht es eine _sehr_ gute Sicherung gegen versehentliches Auslösen, z.Bsp bei einem Wackelkontakt/Spannungseinbruch!
Das alles sage ich, ohne dir in die Suppe spucken zu wollen, sondern um sowohl dir als auch allen Raketenmodellbauern den Spaß am Hobby zu erhalten.
mfG
Markus
Hallo,
nur eine Klarstellung zum Thema Pullup: Nach einem Hardware-Reset sind bei den AVRs die Pullups der Standard(!)-I/O-Pins deaktiviert; die Pins sind im hochohmigen Zustand ("high Z"). Das ist einer der Gründe, beim Ansteuern von FETs einen externen PullDown-Widerstand zwischen Gate und Source vorzusehen.
Gruß
Fred
das habe ich jetzt auch nich so aufgefasst, das du mir in die suppe spucken willst. Nur leider habe ich noch nie mit Watchdog usw gearbeitet, undd ihrgendetwas stimmt auch nich mit meinem Ad Wandler. Immer wenn ich über Terminal die Werte des Ad anzeigen lassen möchte, so zeigt er mir nur Kästchen an. ich MAX 232 dran, keine Veränderung, ansonsten hätte ich das ja auch gemacht.
Hunni
Hi,
hört sich nach falscher Baudrate an.