hallo zusammen! bascom kann beim rechnen nicht mehrere schritte auf einmal machen. nur eine operation auf einmal. daher kommt es wohl, das ich bei dieser elseif geschichte den fehler "3 parameters expected" erhalte. F = timer R = poti mit verschiedenen schwellwerten If F = 1 And R < 50 Then Gosub test1 Elseif F = 2 And R = 50 To 200 Then Gosub test2 Elseif F = 3 And R = 201 To 799 Then Gosub test3 Elseif F = 4 And R = 800 To 1023 Then Gosub test4 End if was muss ich ändern um den parameter fehler zu vermeiden? gruß elseifboy
Hi Elseifboy, pro If Anweisung geht nur eine Bedingung. Geht leider nur so: "If F = 1 then If R < 50 then Gosub Test1 else if ...... usw. " lg Ralf
....und das mit dem "to" hab ich noch nie gesehen, kenne ich nur von For Next Schleifen. Da mußt noch einiges ändern.
Bei Select/Case (QBASIC, VB) gibt es das "to" in diesem Zusammenhang auch. Aber Rahuls Rat wird wohl der beste sein... ...
danke für die schnellen antworten. klar ist das ein riesen nachteil bei bascom. allerdings ist es für mich das einfachste (solange ich nich eine 100% perfekte und 100% geschwindigkeitseffiziente spitzenprogrammierung benötige.). ich werde mal die doppelte if variante testen. danke togger!
Schau einfach in der Hilfe unter Select Case nach. Da ist alles drin, auch Bereiche (siehe Beispiel aus der Hilfe): Select Case X Case 1 To 3 : Print "1 , 2 or 3 will be ok" Case 4 : Print "4" Case Is > 10 : Print ">10" Case Else : Print "no" End Select Gruß Olaf
hallo olaf. das mit den bereichen ist korrekt. allerdings verwendet select case ja nur die variable X (wie in deinem beispiel) ich benötige aber zwei variablen mit einer and verknüpfung. "wenn timer0 bis 3 gezählt hat und der eingestellte poti den wert 201 bis 799 am adc angibt dann gehe zu test3"
@Hannes: Danke für die Blumen... Ich habe inzwischen jemanden "bekehrt", der Bascom als Quick'n'dirty Methode benutzt hat, ein Projekt zum Laufen zu bekommen. Jetzt fragt er mich dauernd nach irgendwelchen C-Problemen. Da frage ich mich doch, was angenehmer ist: Mich dauernd mit ihm über die Unzulänglichkeiten von Bascom zu streiten, oder ihm C zu erklären... Ich streite nicht ab, dass man mit BAscom auch zu Ergebnissen kommt, aber für mich wirkt die Sache trotz vieler schöner Gimmix ([Grafik-]LCD-Unterstützung, Soft-UART ...) noch ziemlich unausgegoren, wenn man nicht mal eine Formel in einem Stück angeben kann. Ich hoffe, die Leute von mcselc arbeiten weiter daran. Die Dokumentation ist ja sehr schön umfangreich...
OT @Rahul: Ich meine, die haben schon viel zu viel "verBASICt". Dieser ganze Config-Kram hält die User davon ab, in das Datenblatt des AVRs zu schaun. Hätte man darauf verzichtet, müsste man mit Zuweisungen auf die I/O-Register zugreifen und könnte die Übersicht behalten. Abgesehen davon ist das auch ein Eigentor: Jeder neue AVR-Typ hat etwas andere Hardware und benötigt neue Routinen um in BASIC-Syntax angesprochen zu werden. Das hätte man sich sparen können. Ein Tiny-BASIC hätte völlig gereicht. Da ich beim AVR verdammt dicht an der Hardware programmiere, halte ich ASM für die einfachste Lösung. Da gibt es die wenigsten Missverständnisse, da ist das Datenblatt (und nur das Datenblatt) verbindlich... Das PC-BASIC-Wissen (oder mein Commodore-Plus/4-BASIC-Wissen) taugt nicht zum Programmieren von kleinen Mikrocontrollern, ebenso wie PC-C-Erfahrung (ohne Umdenken) nicht zum AVR-Programmieren taugt. Es ist schon ein Unterschied, ob man unter einem Betriebssystem programmiert oder direkt an der Hardware. Bit- & Bytebruch... ...HanneS...
Hi zusammen, bascom ist nicht gerade meine Sprache, aber trotzdem: @Togger: es gehen schon mehrere Bedingungen in einer Anweisung. @Rahul: und dieser jemand wird noch viele Fragen bezueglich C an dich haben ;-)) jedenfalls ist das bei mir so; in basic kann ich "quick and dirty" was hinzaubern, in C noch immer nicht so richtig :-( @elseifboy: wenn ich folgenden Code eingebe, funzt es zumindest im Simulator mit wechselnden Werten fuer R und F: Dim F As Byte , R As Integer F = 1 R = 900 If F = 1 And R < 100 Then Gosub Test1 Elseif F = 2 And R > 50 And R < 200 Then Gosub Test2 Elseif F = 3 And R > 201 And R < 799 Then Gosub Test3 Elseif F = 4 And R > 800 And R < 1023 Then Gosub Test4 End If End Test1: Print "Test1" Return Test2: Print "Test2" Return Test3: Print "Test3" Return Test4: Print "Test4" Return Allerdings ist eine Kombination wie R=1 und F>900 und so nicht definiert. schoenen Gruss Tony
Sorry, keine Ahnung, wie das Doppelposting zustande kam. Tony
@SnowCrashSteffi: Wie Hannes schon meinte: Bascom nimmt einem schon zuviel ab. Da kann man schon wieder was verlernen... Es ist einfach schon zu weit vom Controller entfernt. Basic ist in Ordnung, wenn man nicht den Bezug zum Controller verliert. Da könnte man auch gleich Java, PHP oder sowas zum Controllerprogrammieren benutzen.
@Rahul: Dashab ich auch nicht bestritten, deshalb beschaeftige ich mich ja auch mit C. Also werden hier mit an Sicherheit grenzender Wahrscheinlichkeit Fragen dazu von mir auftauchen :-)) Gruss Tony PS: SnowCrashSteffi?!? Hab ich was nicht mitgekriegt?
Also wirklich ! Is doch jedem selber überlassen womit er seine Programme schreibt. Aber wie immer tauchen die üblichen verdächtigen auf und anstatt zu helfen wird mal wieder ein Missionierungszug gestartet. Für solch ein arrogantes Verhalten ist dieses Forum übrigens an vielen Orten im Deutschsprachigen Raum bekannt. Sind die Herren nicht zufällig auch Linux-Fans ? Das Verhalten würde Arttypisch passen. '-)
@Ratber: Ich bin kein Linux-Fan. Natürlich klingt es arrogant, wenn man jemandem vorschläg, eine andere Programmiersprache auszuprobieren, wenn man ihm in seiner keiner richtig gute Hilfe geben kann. Für micxh ist es einfacher, den Fehler in einem C-Programm als in einem in BAscom geschriebenen zu finden. Liegt vielleicht an dem Drang, alles (auch die Hilfe) möglichst einfach zu gestalten. Wie oben schon erwähnte, ist die Dokumentation von Bascom sehr umfangreich gestaltet. Ich finde es bei Bascom einfach schade, dass es noch ziemlich viele Unzulänglichkeiten wie Aufteilen einer Formel, oder Kontrollstrukturen mit sehr wenigen Auswahloptionen. Bei dem Programmpaket, wird auch eine Menge mitgeliefert, die ich bei WinAVR vermissen, wie die LCD-Ansteuerung, SoftUART etc. Sowas muß ich mir in C selber basteln oder im Netz suchen. Wenn sich für mich elseifboy's Frage stellen würde, würde ich mir überlegen, ob es für mich nicht sinnvoller wäre, die Sprache zu wechseln, da ich in der momentanen mit noch mehr Problemen rechnen muß. Ich meine fast, dass manche Leute es toll fänden, wenn man Controller nur in Assembler programmieren dürfte. @SnowCrash: hab dich mit jemand anders verwechselt... 'schuldigung.
@Ratber: Ich bezweife keinesfalls deine Kompetenz in Sachen Elektronik in dein arbeitsplatzbedingtes Insiderwissen. Ich will mich auch nicht mit dir persönlich anlegen. Aber zu meiner Aussage, die ich hier: http://www.mikrocontroller.net/forum/read-1-274673.html#274803 gemacht habe, stehe ich. Wenn du das für Arroganz hältst, dann ist das nicht mein Problem. Ich schreibe niemandem vor, welche Sprache er nehmen soll, solange er damit auch zurecht kommt. Die vielen Fragen zu BASCOM hier im Forum zeigen aber, dass viele BASCOM-Nutzer im Denken so weit von der Hardware entfernt sind, dass sie nichtmal in das Datenblatt des jeweiligen AVRs schaun. - Und genau das ist der Punkt, wo ich ASM empfehle. Denn in ASM ist nur das Datenblatt verbindlich und man hat die I/O-Register und deren Bits immer vor Augen, sieht also, was man tut. Schönen vierten Advent noch... ...HanneS...
@SnowCrash du hast Recht. Deine Lösung ist syntaktisch so ok. Nur: da ich mit mehreren Bedingungen in einem Projekt böse Erfahrungen gemacht habe, lasse ich die Finger davon. Soweit ich mich entsinne waren die Ergebnisse nicht stimmig, was mich zu der Annahme führte, dass Bascom mit mehr als einer Bedingung pro If einfach überfordert ist. Lasse mich aber gerne eines Besseren belehren. Die Fehlermeldung "3 Parameters expected" bezieht sich auf das "to" in Elseifboy´s Listing. Diese Fehlermeldung bringt Bascom immer, wenn Bascom etwas nicht versteht, oder zuviel in einer Zeile steht (z.B. Tippfehler). Kann sehr irreführend sein. DAS ALLES STEHT NICHT IM DATENBLATT!!! (für die Datenblattfetischisten ;-)) Auf weitere konstruktive Beiträge :-) lg Ralf
> DAS ALLES STEHT NICHT IM DATENBLATT!!! (für die > Datenblattfetischisten ;-)) Lach... Das kann ja auch nicht im "Datenblatt" stehen, denn das von mir gemeinte "Datenblatt" beschreibt nur den AVR, seine Architektur und seinen ASM-Befehlssatz (ich sehe "Instruction Set" als ausgelagerten Teil der AVR-Datenblätter). Wenn du Erklärungen zu BASCOM-Befehlen suchst, dann ist das Datenblatt die falsche Quelle, dann musst du schon das BASCOM-Handbuch (falls verfügbar) und die BASCOM-Help-Dateien lesen. Falls es da nicht drin steht, dann taugt das nunmal nix. Um mir all diesen Unfug zu ersparen, benutze ich Assembler (obwohl ich Erfahrung mit mehreren BASIC-Dialekten habe!), denn dann gilt das Datenblatt des AVRs. Ich gebe zu, dass das der einfachere Weg ist, aber bei kleinen Programmen auf AVRs (kleine MCs) kann ich schon auf die (unbestrittenen) Vorteile einer Hochsprache verzichten. Ich bin kein Gegner von BASIC allgemein, ich nutz(t)e es auf dem PC (DOS/WIN), dem Commodore Plus/4, dem Z80 und dem MFA-8085. Übrigens: Was hat das mit Fetischismus zu tun, wenn man die Handbücher der benutzten Programme und Datenblätter der zu programmierenden Mikrocontroller oder anderer verwendeter Bauteile liest? Schönen vierten Advent... ...
ich nicht... @Hannes: Ich weiß ja nicht, wen er mit den Fetischisten meint, aber wenn manche sich von einem Datenblatt erregt fühlen, dann sollen sie doch...
@Rahul: Soll mich nicht weiter stören, er scheint sowiso eine gespaltene Persönlichkeit zu haben, sonst würde er nicht innerhalb eines Threads mit unterschiedlichen Namen schreiben... ;-) <--- Smilie... ...
Ich bin damals mal mit BASIC angefangen, habe ich auch verstanden, aber gerade so Sachen wie mehrere Operatoren in eine Reihe schreiben funktioniert nicht haben mich dann umlenken lassen. Erst Assembler, schön und fein in Assembler programmiert und gleich ein viel besseres Programmiergefühl gehabt (Weiß nich ob es sowas gibt, aber ich fühl sowas). Man wusste genau was jetzt gemacht wird, man wusste genau wie lange was jetzt genau dauert und der allergrößte Vorteil: Man konnte seine Routinen viel besser optimieren als in BASCOM. Es gibt so geniale Mnemonics im Instruction Set. Eins hab ich letztens erst wieder gefunden (Bit Store Möglichkeit). Ohne die hätte ich große Umwege gehen müssen. Als ich dann ein größeres Projekt hatte, habe ich mit C angefangen. Ist zwar anders als Assembler, aber keinesfalls so wie BASIC. Auch hier gibt es wesentlich größere Vorteile gegenüber C. Zum Beispiel kann man in C bei einem String (Array!) direkt auf die einzelnen Zeichen zugreifen.. Also ich bereue den Umstieg von BASCOM auf ASM/C KEINESFALLS. es hat sich echt gelohnt !
@Rahul&Hannes Sicher,Bascom ist nicht perfekt aber das gilt wohl für alle Sprachen.C Ist in meinen Augen unnötig kryptisch als ob sich dort einige Verschlüsselungsfans ausgetobt hätten. Da liegt mir Delphi oder Assembler gleich näher. Ich sehe nur nicht ein Stunden beim Coden zu verbringen wenn ich simple Sachen auch schnell eben mit diesem "Spagettimonsdter" erschlagen kann. Was die If/Then betrifft so finde ich es nicht so wild wenn Bascom nur 2 Parameter zulässt. Beim Übersetzen wirds eh wieder in einzelne Anweisungen zerlegt also verschenkt man damit keinen Platz. Da Controller ja eh einfach gestrickt sind kommt das dem gefordertem Argument "Einfach" doch entgegen. Da verstehe ich die Meckerei nicht ganz. Nun das ein Comodore,Sinclair oder VisualBasic nicht verwendbar ist stimmt aber mit den Code vom Controller wirste aufem PC auch nicht glücklich weil schon allein die Anwendungsgebiete und die Resourcenhintergründe ganz anders sind. Insoweit hinkt der Vergleich auch wenn die C-Dialekte sich hier mehr ähneln als es bei Basic der Fall ist. Was bei Basic besticht ist das einfachere Sprachliche Verständnis der Befehle. Unter Print,If-Then-Else,End,Dim,Goto,Gosub usw. bei Basic und zb. Writeln beim alten Pascal kann ich mir sofort was drunter vorstellen ohne eine Großartige Ahnung vom Programieren zu haben.(Englisch vorrausgesetzt.) Selbst bei Assembler sind die Mnemonics relativ einleuchtend. C ist vom Sprachgebruch einfach Abstrakter und wirkt sehr zerrissen. Bei einer If Anweisung hat es nichtmal für ein Then gereicht. Nein da mußte unbedint was Kryptischens hin. Wenn man sich die ersten 20 Zeilen (Code,nicht Def.) so einfach mal ansieht dann scheint es als ob der Texst nurnoch aus Sonderzeichen besteht. Das ist es was mich persönlich davon abhält,egal ob Plattformü+bergreifend oder nicht. Ihr habt vieleicht das Topic letztens mitbekommen wo einer ein Einfaches Basic für den PC gesucht hat.(Irgendwas mit Serieller und Einfach usw.) Der wollte auch nur mal was relativ einfaches umsetzen und war auch abgeschreckt wie Komplex schon VB daherkommt (Und irgendwas war glaub ich noch mit der Biblio.). Wenn einer was großes vorhat dann wird er schon in einem der Häfen von C oder sonstwas einlaufen da muß wohl keiner Angst haben. Was mir hier immer so aufgefallen ist das wenn jemand was in Basic will er gleich von oben herab behandelt wird oder man schon fast mit Gewallt und Spott versucht ihn zu C oder Assembler zu bekehren. Dazu klingt das dann immer recht Hämisch. Das zeugt nicht gerade von Charakter. Mich juckt es momentan mal auszuprobieren wie hier reagiert wird wenn mal einer über C abläster und es durch den Kakao schleift. Ich wette meinen Weihnachtsteller das dann ein richtiges Geheule und geschreie losgeht wie in nem AMD Forum wenn einer "AMD ist schei..." schreibt. @Hannes >Die vielen Fragen zu BASCOM hier im Forum >zeigen aber, dass viele BASCOM-Nutzer im Denken so weit von der >Hardware entfernt sind, dass sie nichtmal in das Datenblatt des >jeweiligen AVRs schaun. Nein das zeigt nur das der Einstiegslevel bei Basic viel niedriger ist als bei C oder Assembler und das dort der Bedarf an Fragen größer ist. Gemessen an der Gesammtzahl der Fragen sehe ich hier nur wenige Fragen zu Bascom. Das mag dir als C-Anhänger vieleicht anders erscheinen aber den Effekt haben auch andere Leute die eine bestimmte Marke bevorzugen. Die AMDler meckern über die Intelllianer und umgekehrt,Atianer wünschen Nvidianern die Fresszelle an den Hals und die umgekehrt den Atianern die Kühlerfäule. An fremden Kindern rumzumeckern ist immer einfacher als bei den eigenen fehler zu finden.Das ist Menschlich '-) Wie gesagt,mich juckt es wirklich inne finger e mal auszuprobieren :D @Rahul Kennst du den Spruch "Es kann keiner in Frieden leben wenn es dem Nachbarn........." ? '-)
@Ratber: "es kann der Frömmste nicht in Frieden ..." Danke für den Schuß vor den Bug, manchmal lasse ich mich in solchen Sachen einfach zu sehr gehen. Das ist hier halt das Internet. Und die Wahrscheinlichkeit jemals jemanden zu treffen mit dem man hier zutun hat, ist für mich ziemlich gering. Deswegen ist auch einfach, Leute (die einem gar nichts getan haben), nieder zu machen. Ich wrede mich einfach bei solchen Sachen in Zukunft entweder raushalten oder sachliche Hilfestellung leisten. Allerdings sehe ich immer noch das Problem (nicht unbedingt an diesem Thread), dass die Leute nicht mehr ins Datenbaltt gucken, sondern lieber hier eine Frage stellen. Allerdings wird die Frage auch häufig gestellt, obwohl drei Zeilen tiefer das gleiche Problem behandelt wird (Forensuche benutzen...). Manchmal hilft es, einfach mal in den Chat zu gehen. Entweder bekommt man da die gleichen Antworten wie hier ("Guck ins Datenblatt!"), was dann Speicher auf dem Server spart, oder man kann mit denjenigen darüber diskutieren. Mir ist schon häufiger passiert, dass ich im Chat eine Frage formuliert habe, um mirr dann selbst die Antwort zu geben... Nichts für ungut...
>Danke für den Schuß vor den Bug, Schießen wollte ich eigentlich nicht,nur zum nachdenken anregen. >Allerdings sehe ich immer noch das Problem (nicht unbedingt an diesem >Thread), dass die Leute nicht mehr ins Datenbaltt gucken, sondern >lieber hier eine Frage stellen. Allerdings wird die Frage auch häufig >gestellt, obwohl drei Zeilen tiefer das gleiche Problem behandelt wird >(Forensuche benutzen...). Ja,da stimme ich dir zu. Ist aber noch nie anders gewesen das viele Leute lieber den bequemen Weg gehen anstatt etwas Zeit und Hirnschmalz zu investieren. Ich helfe nur bis zu einem bestimmten Punkt. Wenn ich merke das derjenige überhaupt keine Motivation hat etwas zu lernen und ich nur von anderen die Arbeit machen läst dann sage ich es ihm auf den Kopf zu (Ich bin manchmal sehr direkt weil ich ungern um den heissen brei rede) oder ich stelle jegliche Aktivität ein. Ich weiß nicht woran es liegt das die Leute so bequem sind Vermutlich am Internet das ja immer da ist und wo man ohne Gesichtsverlust viele Leute finden kann. Ich habe mit der Bastelei angefangen da nannte sich das Internet noch Arpanet und war für Zivilisten nur bedingt zugänglich. Da hieß es Bücher lesen die man meist auch noch teuer bezahlen mußte. Da war Experimentieren angesagt wenn man niemanden kannte der einem was beibringen konnte. Datenblätter gabs da fast garnicht und wenn dann nur in Form von Tabellen die man sich schicken lassen konnte (Kostet wieder Geld) Da mußte man schon selber aktiv werden um was zu begreifen. Ja,heute ist das recht einfach. Etwas Googeln,finden,nachbauen.................und nix versatanden. Hab mir ab und an mal ausgemalt was passiert wenn das Internet und die Handynetze für zb. 1 Jahr ausfallen. Vermutlich sieht man dann wieder mehr Menschen auf der Straße bei Freizeitaktivitäten ggg
@Ratber: Missverständnis: Ich kann kein C, C ist mir zu kryptisch. Ich mag eigentlich BASIC. Aber BASCOM erfüllt meine Ansprüche nicht und kostet auch noch Geld. Deshalb nutze ich Assembler. Wie du siehst, sind unsere Ansichten garnicht soweit auseinander. Schönen vierten Advent noch... Bit- & Bytebruch... ...HanneS...
@Rahul Ja,nochmal was zu "Schuss vor Bug" usw. Ich wollte keinen persönlich angreifen sondern nur auf die Unsitte hinweisen unpopuläres einfach plattzutreten. Wenn einer seine Heizungssteuerung mit Sprachausgabe auf ner C-Control 1 unter CCBasic hinbekommen hat dnn ist das auch ok. Wichtig ist das es funktioniert und nicht womit oder worauf es gemacht wurde. Oder könnte sich jemand vorstellen jemand anderes nur wegen seiner Handymarke zu beurteilen ? '-) @Hannes >Missverständnis: Ich kann kein C, C ist mir zu kryptisch. Das war aucxh nicht auf dich persönlich gemünzt. War nur nen Beispiel. >Ich mag eigentlich BASIC. Aber BASCOM erfüllt meine Ansprüche nicht >und kostet auch noch Geld. Deshalb nutze ich Assembler. Ja,wie gesagt.Keine Sprache kann alle Wünsche erfüllen. Wenn ich aus unterschiedlichen Gründen an die Grenzen von Bascom stoße dann ist auch bei mir Assembler angesagt. Entweder Inline oder Pur. Aber solange ich Zeitlich sparen kann nehme ich Bascom (Manchmal auch Fast-AVR .zb. bei einigen Displays). Wenn es mir nutzt dann habe ich auch keinerlei Hemmungen Turtlebasic zu nehmen gggg >Wie du siehst, sind unsere Ansichten garnicht soweit auseinander. > >Schönen vierten Advent noch... Yo,dir auch. Ratber
...und jetzt alles schön Auschneiden und Aufheben, denn die nächste Bascom Frage kommt bestimmt. Erspart viel Tipparbeit ;-) Sonst vermisse ich mein gewohntes Déjávu Erlebnis hier. Und eines darf auch nie fehlen: der beliebte Hinweis ins Datenblatt zu schauen lol ich würde was vermissen! Übrigens: es gibt Foren da werden solche Beiträge gnadenlos gelöscht. Schade eigentlich, denn es steigert ungemein den Unterhaltungswert bzw. zeigt den Humor einiger uC Experten. lg Ralf
junge junge. hier gehts ja richtig zur sache! im inneren dieses forums brodelt es wohl etwas. @allgemein: ich habe vor ca. 1 monat mit µC angefangen. als allererstes habe ich mich in dem tutorial dieser seite schlau gemacht. hier wird einem assembler ans herz gelegt. nach den ersten zeilen wo nur stand "bahnhof,tmp,bahnhof,pop,bahnhof" dachte ich mir: hmmmmmmm es muss doch noch irgendwo dieses basic geben, was du von früher aus der schule kennst. das war zwar auch schon gruselig aber eben nicht so freaky wie C oder asm. beruflich habe ich NICHTS mit elektronik oder programmierung zu tun. wenn ich irgendwo eine doku über dunkle materie gesehen habe, kann ich auf einfache weise nachvollziehen, was die herrschaften da gesagt haben, ohne kryptische formeln zu verstehen oder gar astrophysik studiert zu haben. selbstverständlich kannste einem profi nicht mit basic kommen. das ist so, als wenn du einen chirurg zwingst, ein skalpell-set vom baumarkt zu benutzen. ein spruch von mir: "Bascom ist das HTML der Mikrocontroller" ;) @Rathber: <"Sind die Herren nicht zufällig auch Linux-Fans ? Das Verhalten würde Arttypisch passen. '-)" diese bemerkung (offensichtlich humorvoll geschrieben, wurde ja derbe negativ aufgefasst :)) >Die vielen Fragen zu BASCOM hier im Forum >zeigen aber, dass viele BASCOM-Nutzer im Denken so weit von der >Hardware entfernt sind, dass sie nichtmal in das Datenblatt des >jeweiligen AVRs schaun. >Nein das zeigt nur das der Einstiegslevel bei Basic viel niedriger ist >als bei C oder Assembler und das dort der Bedarf an Fragen größer ist. dem kann ich nur voll und ganz zustimmen. @SnowCrash: aaaaaah mit sowas komme ich schon eher zurecht. danke! ich werde anfang kommender woche die platine ätzen und bestücken. wenn das proggie nicht richtig will, melde ich mich wieder. ;) btw... bei mir läuft win 98 se (die error edition) :)) ... und die forensuche wurde bereits betätigt
98SE läuft bei mir auch... - Für LINUX bin ich zu doof... ...
Yo und bei mir werkelt überall W2k. Zu doof für Linux ist keiner (Ok,es gibt doch einige aber die sind auch zu doof für Windows oder nen Taschenrechner) Man muß nur entscheiden ob man es braucht oder nicht.
bleib bei deinem win98se oder me. ist eine tolle sache. ich kenne die beiden jetzt sehr gut und wenn es bei dir läuft mit dem proggen und so...bleib dabei. in linux gibt es nicht so gute progsprachen und wenn, dann sind die so auf geblasen, das der privatanwender davon erschlagen wird. auch dieses tcl... ist nicht das gelbe vom ei.und jeder linuxschlaumeier bringt eine änderung von einer änderung raus, du steigst da nicht mehr durch. pebisoft
ich schreibe auch mit purebasic ganz leicht selber dll-dateien. die kann man überall verwenden, wenn du so etwas machen möchtest ist sehr interessant, diese dll zb verwende ich dann in blitzbasic3d um die windowgui anzusprechen. pebisoft
Schön für dich, Peter... Mit der PureBasic-Demo hatte ich aber große Probleme, brachte den Rechner immer zum Absturz (auf 3 unterschiedlichen Rechnern probiert). Daher habe ich es aufgegeben. Weiß der Geier woran das lag. Das WIN98SE nutze ich, weil es "ehrlich ist" (gekauft) und weil man ohne Treibertricks die I/O-Adressen ansprechen kann... XP-Home habe ich zwar auch (zum neuen Rechner), nutze ich aber nur für Multimedia (eigene Video-DVDs)... Schönen vierten Advent noch... ...
@Hannes >Das WIN98SE nutze ich, weil es "ehrlich ist" (gekauft) und weil man >ohne Treibertricks die I/O-Adressen ansprechen kann... yo,das geht mittlerweile unter W2k (ab SP...3 glaub ich) und XP (Ab SP 1 oder 2.Weiß auch nicht genau.fällt ja erst hinterher auf) auch ohne Probleme. Jedenfalls kann man sich die üblichen Spielereien (Porttreiber usw.)für Parportgeschichten schenken. Ja,aber mal von Stbilitätsgeschichten abgesehen hat W9x den Vorteil das es sehr schlank und recht flott läuft. Die W9x waren einfach "Handlicher" :D >XP-Home habe ich zwar auch (zum neuen Rechner), nutze ich aber nur >für Multimedia (eigene Video-DVDs)... Ja,XP-Pro ist mir zu fett und ich sehe nicht ein mir ein System zu insten um als erste Amtshandlung erstmal nen Antispy und ne Externe Firewll zu insten damit es nicht sofort ne Stasistandleitung nach Redmond legt. Und über die Home rede ich erst nicht. Spielzeug sollte eigentlich billiger sein gg Zu Purebasic: >Weiß der Geier woran das lag. Ich kann nur von meinen wenigen und natürlcih vondenen eines Kollegen (Da hab ich es eigentlich her) erfahrungen berichten und da ist nix besonderes bekannt. Was aber sein kann ist das man die persönlichen lieblinge vergisst die man auf jedem Rechner installiert. also zb. den lieblings Bildbetrachter,Video-/Mp3-Player usw. Wenn diese sich beißen dann entsteht schnell der Eindruck das eine anwendung nicht stabil läuft. Sowas ist mir vor 9 Jahren mit nem Telestrieber (ISDN) passiert. Nie gabs Probleme und das Drüberbügeln als Update war lachhaft einfach (Kann sich so mancher Hersteller Heute ne Scheibe von abschneiden) das man nicht mehr drüber nachgedacht hat. Tka und dann ging es irgendwann los. Fehlermeldungen Soundtreiber. Nach einigem Hin und her Spundtreiber deinstalliert. Dann wechselte der Fehler sofort auf das Netzwerk. Nach deinstallation hieß es dann das DirectX fehlerhaft wäre. Dann Grafik und Maus. Zu dem Zeitpunkt waren 8 Stunden wilde sucherei und ne Parallele neuinstallation (Andere Pri) mit gleichemn Fehler gelaufen bis mir der bisher so unauffällige und stabile Capitreiber wieder einfiel den ich am Abend vorher geupdatet hatte. Hehe,einfach durch seinen Vorgänger ersetzt und gut wars. Vieleicht haste ja auch einige dieser "Unauffälligen Verdächtigen" auf deinen Systemen ? (Nur so als Möglichkeit)
Korrektur was die Porttreibergeschichte für XP betrifft: Ich hatte gerade ine Gespräch mit einem Bekannten der meinte das es unter XP doch nicht ohne speziellen Portreiber gehen würde. Da ich das jetzt nicht gegenprüfen kann ziehe ich meine Aussage diesbezüglich zurück. Es kann auch sein das ich einigen Anwendungen aufgesessen bind die diese Funktionalität mittlerweile von Hause aus mitbringen.
hi leute, habe eine problem und zwar möchte ich attiny 24 programmieren was für behinderte menschen zum einsatz kommt. das programm läuft so, der anwender bedient über eine sensor das gerät was gleich piept und nach 4 sekunden wieder piet und nach 6 sekunden wieder piept (Jetzt wechselt er auf dem 2 Realis) und nach8 sekunden wieder(jetzt wird Alarm über den Relais 3 ausgelöst). jetzt möchte ich über einen Jumper die zeit veriabel halten so das ich die zeit durch das setzen eines jumpers verkürzuen oder verlängern kann. das programm sieht so aus vielleicht könnt ihr mir weiter helfen!!!!!!! er zeigt mir (3 parameter expected) als Fehler 'Leonardo III 26.6.2009 ergoMotix(R) $regfile = "attiny24.dat" $crystal = 4000000 Config Portb = Output Config Porta = Output 'Alle Pins werden als Ausgang definiert ' define input Config Pina.4 = Input 'Ein Pin (PA0) wird wieder als Eingang definiert Porta.4 = 1 Config Pina.2 = Input 'Ein Pin (PA0) wird wieder als Eingang definiert. Porta.2 = 1 'Jumper Für K2-Betrieb Config Pina.7 = Input 'Interner Pullup Widerstand ein 100K Porta.7 = 1 'Ein Pin (PA0) wird wieder als Eingang definiert Dim T As Long T = 0 Dim S As Bit S = 0 Dim J As Bit 'K1 0 oder 1 Dim J2 As Bit 'Zeitfestsetzung 'Lidschlag Programm Dim X As Long 'Zeitvariable ' Set I/Os 'Portb.0 = 0 'PB0 Pin5 K2_MOS Halbleiterreilais zbv 'PortA.5 = 1 'PB1 Pin6 K3_Mec Mechanisches Relais 'Portb.2 = 0 'PB2 Pin7 Buzzer Piezo mit integrierter Elektronik 'Portb.3 = 0 'PB3 Pin2 SENSOR 'Portb.4 = 0 'PB4 Pin3 K1_MOS Halbleiterreilais Umfeld 'Portb.5 = 0 'PB5 Pin1 Reset Ohne Weiteres Nicht verwendbar 'Pin4 GND, PIN8 VCC ' define Aliases K1_mos Alias Porta.3 'Zuweisung / Platzhalter K2_mos Alias Portb.0 'Zuweisung / Platzhalter K3_mec Alias Porta.5 'Zuweisung / Platzhalter Buzzer Alias Porta.0 'Zuweisung / Platzhalter Sensor Alias Pina.4 X = 5000 K1_mos = 0 'Pin wird auf High, also 5V geschaltet K2_mos = 0 '<- K3_mec = 1 'Pin wird auf High, also 5V geschaltet Buzzer = 0 'Pin wird auf High, also 5V geschaltet 'Main_Loop______________________________________________________________ _____________________________________ Main: Do If Sensor = 1 Then T = T + 1 If S = 0 Then If T =< 24000 Then K1_mos = 1 'Pin wird auf High, also 5V geschaltet K2_mos = 0 '<- K3_mec = 1 End If Else If T =< 24000 Then K1_mos = 0 'Pin wird auf High, also 5V geschaltet K2_mos = 1 '<- K3_mec = 1 End If End If 'Pin wird auf High, also 5V geschaltet If J2 = 1 Then If T = 1 Then Gosub Beep End If If T = X Then T = T + X Gosub Beep End If If T = X + 18000 Then T = T + X Gosub Beep End If If T < X + 24000 Then T = T + X If T > 18000 Then T = T + X If Sensor = 0 Then If J = 1 Then 'jumper nicht gesteckt, BT-Anschluß pin Toggle S End If End If End If End If End If If T > 24000 Then Gosub Beep Gosub Alarm Waitms 500 End If If J2 = 0 Then If T = 1 Then Gosub Beep End If If T = 12000 Then Gosub Beep End If If T = 18000 Then Gosub Beep End If If T < 24000 Then If T > 18000 Then If Sensor = 0 Then If J = 1 Then 'jumper nicht gesteckt, BT-Anschluß pin Toggle S End If End If End If End If End If If T > 24000 Then Gosub Beep Gosub Alarm Waitms 500 End If 'Pin wird auf High, also 5V geschaltet Else T = 0 K1_mos = 0 'Pin wird auf Low, also 0V geschaltet K2_mos = 0 K3_mec = 1 'Pin wird auf Low, also 0V geschaltet End If 'Waitms 10 Loop 'Procedure Beep____________________________________________________________________ __________________________ Beep: Buzzer = 1 Waitms 25 Buzzer = 0 If S = 1 Then Waitms 25 Buzzer = 1 Waitms 25 Buzzer = 0 End If Return 'Procedure Alarm___________________________________________________________________ ___________________________ Alarm: K1_mos = 0 'Pin wird auf Low, also 0V geschaltet K2_mos = 0 K3_mec = 0 'Pin wird auf Low, also 0V geschaltet Return End
was stimmt den hier nicht jungs!!!!!!!! x soll eine zeitvariable sein die ich oben festlege bsp. 5000. j2 ist der jumper If J2 = 1 Then If T = 1 Then Gosub Beep End If If T = X + 12000 Then Gosub Beep End If If T = X + 12000 Then Gosub Beep End If If T < X + 18000 Then If T > X + 24000 Then If Sensor = 0 Then If J = 1 Then 'jumper nicht gesteckt, BT-Anschluß pin Toggle S End If End If End If End If End If
Fird Nahla schrieb: > was stimmt den hier nicht jungs!!!!!!!! Du sagst uns nicht, was der Code machen soll, was er statt dessen macht. Das stimmt nicht. > If T < X + 18000 Then > > If T > X + 24000 Then Es dürfte wohl für eine beliebige Zahl T ziemlich schwierig sein, gleichzeitig kleiner als X + 18000 und größer als X + 24000 zu sein. Für so ziemlich jedes X. Schliesslich ist X + 18000 kleiner als X + 24000 Edit: Ausserdem ist es ziemlich sinnfrei einen 4 Jahren alten Thread auszugraben, nur weil dein Problem eine 'ähnliche Fehlermeldung' ist.
oh sorry das war falschrum so sollte es sein, er soll zwischen den beiden zeiten auf das andere relais umschalten können. aber das x addieret er irgenwie nicht, also ohne das x klappt das aber mit leider nicht??? If T < X + 24000 Then If T > X + 18000 Then If Sensor = 0 Then If J = 1 Then 'jumper nicht gesteckt,BT-Anschluß pin Toggle S End If End If End If End If mfg
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.