Ich habe einen Taster an Portd0 gegen ground gehängt, und den Pullup
eingeschaltet. Wenn ich daran Pegel messe, dann stimmen die Werte,
Taster = 0 --> V = 5V, Taster = 1 --> V = 0V.
Nun kann der Fehler nur mehr an der Software liegen, aber ich weiß
einfach nicht wo. Es wird immer wieder beim Systemstart messeSollwert()
aufgerufen, denn das sehe ich am Display obwohl ich den Taster auf 1
hab, aber wieso?
Sollwert war nach der ersten Messung 8. So wurde es am Display angezeigt
also muss es auch in der Variable sollwert gespeichert worden sein und
demntsprechend auch in EEsollwert. Also kann die Variable gar nicht null
sein.
messeSOllwert:
Brocken Sei schrieb:> sry für den langen code.
Den kann man als Anhang speichern. Nächstes Mal. ;-)
Prüfe mal ob Dein Taster ein Schliesser oder ein Öffner ist. Das die
Taste "1" ist, ist keine sinnvolle Aussage in dem Zusammenhang.
Der folgende Codeabschnitt
1
//Read EEPROM:*****************************
2
registerVariable=PIND;
3
registerVariable&=0b00000001;
4
if(registerVariable&0b00000001)
5
sollwert=eeprom_read_word(&EEsollwert);
6
elseif(registerVariable&0b00000000)
7
sollwert=0;
ist zum einen unnötig kompliziert und dann noch an einer Stelle falsch
er kann so geschrieben werden:
1
//Read EEPROM:*****************************
2
registerVariable=PIND;
3
if(registerVariable&0b00000001)
4
sollwert=eeprom_read_word(&EEsollwert);
5
else
6
sollwert=0;
und hat ausserdem zur Voraussetzung, dass (neben der Frage mit dem
Taster) an der EPPROM-Adresse ein Wert ungleich Null steht.
Der Ausdruck registerVariable & 0b00000000 ist grundsätzlich immer Null
und daher die Bedingung falsch. Der Wert gleich Null wird vermutlich aus
dem EEPROM stammen.
Prüf das mal nach.
Brocken Sei schrieb:> sry für den langen code.
Vielleicht erstmal die Posting-Regeln lesen:
"Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang"
Peter
also
* Schreibweise mit den Bitnamen
* Abfrage auf gedrückt mit ! (weil deine Tasten low aktiv sind)
Abfrage auf nicht gedrückt ohne ! (weil Tasten low aktiv sind)
* Wenn du für einen if den Gegenteilzweig haben willst
dann nimm else. Dafür ist es gemacht.
Schreibst du selbst die gegenteilige Bedingung hin, dann kannst
du dich maximal verschreiben. So wie in deinem Fall.
Grrrr schrieb:> Prüfe mal ob Dein Taster ein Schliesser oder ein Öffner ist. Das die> Taste "1" ist, ist keine sinnvolle Aussage in dem Zusammenhang.
Schließer
Grrrr schrieb:> er kann so geschrieben werden:> //Read EEPROM:*****************************> registerVariable = PIND;> if(registerVariable & 0b00000001)> sollwert = eeprom_read_word(&EEsollwert);> else> sollwert = 0;
Nein, das kann ich deswegen nicht weil sich am PORTD auch Ausgänge
befinden, also muss ich ausmaskieren.
Grrrr schrieb:> an der EPPROM-Adresse ein Wert ungleich Null steht.
Das muss es sogar in meinem Fall, was gleich Null gibt es nicht
Grrrr schrieb:> Der Wert gleich Null wird vermutlich aus> dem EEPROM stammen.
Nein das tut er nicht. Das Display zeigt in messeSollwert() definitiv an
dass der Wert größer Null ist. Und anzeigen tut er es nur nachdem er es
gemessen hat. Dh es ist nicht null.
Hab jetzt die Änderungen vorgenommen, jedoch immer noch gleicher Effekt.
Entprellung sollte eig nicht notwendig sein, da ich beivor ich
einschalte auf die Taste gedrückt halte.
Gruß Bro
Brocken Sei schrieb:> Grrrr schrieb:>> er kann so geschrieben werden:>> //Read EEPROM:*****************************>> registerVariable = PIND;>> if(registerVariable & 0b00000001)>> sollwert = eeprom_read_word(&EEsollwert);>> else>> sollwert = 0;>> Nein, das kann ich deswegen nicht weil sich am PORTD auch Ausgänge> befinden, also muss ich ausmaskieren.
Nein du hast doch recht, stimmt schon, sry^^
Gruß Bro
OK, also ein Schliesser.
Brocken Sei schrieb:>> Nein, das kann ich deswegen nicht weil sich am PORTD auch Ausgänge>> befinden, also muss ich ausmaskieren.>> Nein du hast doch recht, stimmt schon, sry^^
Na also!
Brocken Sei schrieb:> Nein das tut er nicht. Das Display zeigt in messeSollwert() definitiv an> dass der Wert größer Null ist. Und anzeigen tut er es nur nachdem er es> gemessen hat. Dh es ist nicht null.
Das ist nicht der Punkt. Die Entscheidung, ob messeSollwert überhaupt
aufgerufen wird, hängt ja davon ab, welchen Wert Du aus dem EEPROM
liest, falls der Taster gedrückt ist, denn dieser Wert wird in sollwert
gespeichert und danach zu Entscheidung herangezogen. Wenn Du den Taster
beim Einschalten gedrückt hast und wieder erwarten die Funktion
aufgerufen wird, dann folgt daraus, dass aus dem EEPROM Null gelesen
wird.
Brocken Sei schrieb:> Grrrr schrieb:>> an der EPPROM-Adresse ein Wert ungleich Null steht.>> Das muss es sogar in meinem Fall, was gleich Null gibt es nicht
Natürlich existiert ein Wert gleich Null, nämlich genau die Null!
Was Du meinst, ist, das Du nicht "erwartest" das da eine Null steht. Man
kann sich aber irren. Deswegen sollst Du es nachprüfen.
Grrrr schrieb:> Brocken Sei schrieb:>> Nein das tut er nicht. Das Display zeigt in messeSollwert() definitiv an>> dass der Wert größer Null ist. Und anzeigen tut er es nur nachdem er es>> gemessen hat. Dh es ist nicht null.>> Das ist nicht der Punkt. Die Entscheidung, ob messeSollwert überhaupt> ...
Oh Sch... Das ist falsch. Vergiss es.
Es ist vielmehr so: Wenn Du beim Einschalten den Taster gedrückt hast,
es ist ein Schliesser und er schliesst nach Gnd, so wird sollwert = 0
gesetzt. Deswegen wird die Funktion messeSollwert() aufgerufen.
Das aber ist das, was Du, wenn ich den ersten Beitrag richtig verstehe:
Brocken Sei schrieb:> Es wird immer wieder beim Systemstart messeSollwert()> aufgerufen, denn das sehe ich am Display obwohl ich den Taster auf 1> hab, aber wieso?
nicht das was Du erwartest. Richtig?
Grrrr schrieb:> Es ist vielmehr so: Wenn Du beim Einschalten den Taster gedrückt hast,> es ist ein Schliesser und er schliesst nach Gnd, so wird sollwert = 0> gesetzt. Deswegen wird die Funktion messeSollwert() aufgerufen.
Richtig, das ist auch der Sinn und Zweck.
Grrrr schrieb:> nicht das was Du erwartest. Richtig?
Richtig, denn obwohl ich den Taster nicht drücke misst er, auch beim
zweiten mal. Ich lasse ihn beim ersten mal durchmessen, er zeigt an dass
er die Variable gemessen hat, diese ist größer als 0. Tja, keine Ahnung
was da passiert.
Die einzige Fehlerquelle die noch sein kann ist der EEPROM. Irgendwas
läuft beim Spichern schief.
puuuff!
Gruß Bro
Brocken Sei schrieb:> Es wird immer wieder beim Systemstart messeSollwert()> aufgerufen, denn das sehe ich am Display obwohl ich den Taster auf 1> hab, aber wieso?
Das war ein Fehler von mir, das soll natüelich so sein, ich entschuldige
mich! Denn er misst wenn der Taster auch 0 ist. Und das ist der Punkt.
Brocken Sei schrieb:> Grrrr schrieb:>> Es ist vielmehr so: Wenn Du beim Einschalten den Taster gedrückt hast,>> es ist ein Schliesser und er schliesst nach Gnd, so wird sollwert = 0>> gesetzt. Deswegen wird die Funktion messeSollwert() aufgerufen.>> Richtig, das ist auch der Sinn und Zweck.>> Grrrr schrieb:>> nicht das was Du erwartest. Richtig?>> Richtig, denn obwohl ich den Taster nicht drücke misst er, auch beim> zweiten mal. Ich lasse ihn beim ersten mal durchmessen, er zeigt an dass> er die Variable gemessen hat, diese ist größer als 0. Tja, keine Ahnung> was da passiert.
Beides gleichzeitig kann ja nicht zutreffen. Entweder drückst Du den
Taster beim Einschalten oder nicht. Entweder erwartest Du das die
Messung erfolgt oder nicht.
Versuche nochmal genau und im Detail zu beschreiben was Du tust und was
Du beobachtest.
Und gewöhne Dir ab zu schreiben das ein Taster 0 ist oder 1. Er ist
entweder geschlossen oder offen. Allenfalls ist ein Schliesser bzw.
Öffner gedrückt oder losgelassen. Alles andere ist missverständlich.
Grrrr schrieb:> Beides gleichzeitig kann ja nicht zutreffen. Entweder drückst Du den> Taster beim Einschalten oder nicht. Entweder erwartest Du das die> Messung erfolgt oder nicht.
GENAU!! Aber er misst bei beiden Fällen. Die Hardware passt und die
Software ja auch.
Grrrr schrieb:> Versuche nochmal genau und im Detail zu beschreiben was Du tust und was> Du beobachtest.
Was meine Absicht war und noch ist:
Das erste mal wenn ich den Controller einsetze nachdem ich ihn
programmiert habe muss sollwert 0 sein. Dh es muss eine Messung
durchgeführt werden.
Diese zeigt er an auf dem Display.
Wenn ich jetzt ausschalte soll normal keine Messung durchgeführt werden,
da ja die Linie sich für meinen Linefollower nicht ändert.
Wenn jez jedoch eine andere Linie zum einsatz kommt, dann ändert sich
der Sollwert und es soll eine neue Messung durchgeführt werden indem ich
beim Systemstart die Taste gedrückt halte.
Problem dabei: Es wird jedesal gemessen, und laut euch und auch mir
liegt der Fehler nicht bei der SOftware. Und an der Hardware passen die
Pegel und der Pin.
Gruß Bro
Ich meine schon zu verstehen, das Du den Sollwert nur messen willst,
wenn Du beim Einschalten den Taster drückst. OK. Da der Taster ein
Schliesser ist, wird er beim drücken eine 0 am Portpin liefern, weil er
wie Du schreibst zwischen Gnd und dem Port hängt.
Dann aber ist Deine Bedingung immer noch falsch formuliert.
1
if((PIND)&(1<<PD0))
2
sollwert=eeprom_read_word(&EEsollwert);
3
else
4
sollwert=0;
denn aus dem EEPROM wird genau dann gelesen wenn am Portpin eine 1 (ein
High) liegt, also wenn der Schliesser nicht betätigt ist. Das musst Du
umdrehen, wie oben von Karl Heinz beschrieben.
Grrrr schrieb:> denn aus dem EEPROM wird genau dann gelesen wenn am Portpin eine 1 (ein> High) liegt, also wenn der Schliesser nicht betätigt ist.
JA das soll auch so sein, denn nur dann kriege ich einen Wert von
sollwert >0 und es wird nicht gemessen.
Gruß Bro
Brocken Sei schrieb:> Grrrr schrieb:>> Versuche nochmal genau und im Detail zu beschreiben was Du tust und was>> Du beobachtest.>> Was meine Absicht war und noch ist:
Lies einfach mal genauer was hier geschrieben wird. Ich frage nach dem
was Du tust und beobachtest und Du antwortest mit dem was das Programm
tun soll.
Ganz am Ende kommt dann
Brocken Sei schrieb:> Es wird jedesal gemessen, und laut euch und auch mir> liegt der Fehler nicht bei der SOftware.
und das wieder ohne Details und genauen Ablauf.
Ausserdem hat niemand geschrieben das es nicht an der Hardware oder
Software liegt.
Wenn unabhängig davon, ob der Schliesser betätigt ist oder nicht, die
Messung durchgeführt wird, dann steht im EEPROM eine Null.
Brocken Sei schrieb:> JA das soll auch so sein, denn nur dann kriege ich einen Wert von> sollwert >0 und es wird nicht gemessen.
Seufz. Jetzt schreibst Du es wieder andersherum. Das hängt eben nicht
nur von der Tasterstellung ab sondern auch von dem was aus dem EEPROM
gelesen wird.
Prüf nach was im EEPROM steht und negiere die Bedingung.
Also, da waren wir schon mal und ich habe auch keine Lust mehr.
Ich verstehe sowieso nicht, warum Du nicht einfach direkt programmierst
was passieren soll. Warum dieser Umweg über sollwert um die
Tasterstellung weiterzugeben, wenn die Konsequenz ohnehin klar ist?
Schreibs doch direkt:
Grrrr schrieb:> Ich verstehe sowieso nicht, warum Du nicht einfach direkt programmierst> was passieren soll. Warum dieser Umweg über sollwert um die> Tasterstellung weiterzugeben, wenn die Konsequenz ohnehin klar ist?>> Schreibs doch direkt:>>
1
>if((PIND)&(1<<PD0))
2
>sollwert=eeprom_read_word(&EEsollwert);
3
>else{
4
>sollwert=messeSollwert();
5
>eeprom_write_word(&EEsollwert,sollwert);
6
>}
7
>
oder, wenn die Absicht ist, beim ersten Einschalten die Kalibrierung auf
jeden Fall auch auszulösen (Achtung: In dem Fall kommt aus dem EEPROM
eine 0xFF und keine 0. In einem gelöschten EEPROM stehen 0xFF drinnen)
1
sollwert=eeprom_read_word(&EEsollwert);
2
3
if(!(PIND&(1<<PD0))||// wenn Taste gedrückt
4
sollwert=0xFFFF)// oder nach dem ersten Einschalten
5
// noch nicht kalibriert
6
{
7
sollwert=messeSollwert();
8
eeprom_write_word(&EEsollwert,sollwert);
9
}
Man kann sich auch mit kompliziert formuliertem Code und 25
Hilfsvariablen (deren Name mit der beabsichtigten Funktionalität nichts
zu tun hat) so lange selbst austricksen, bis ihn keiner mehr versteht.
Grrrr schrieb:> und das wieder ohne Details und genauen Ablauf.
Was für Details willst denn noch?
??
Brocken Sei schrieb:> Was meine Absicht war und noch ist:> Das erste mal wenn ich den Controller einsetze nachdem ich ihn> programmiert habe muss sollwert 0 sein. Dh es muss eine Messung> durchgeführt werden.> Diese zeigt er an auf dem Display.> Wenn ich jetzt ausschalte soll normal keine Messung durchgeführt werden,> da ja die Linie sich für meinen Linefollower nicht ändert.> Wenn jez jedoch eine andere Linie zum einsatz kommt, dann ändert sich> der Sollwert und es soll eine neue Messung durchgeführt werden indem ich> beim Systemstart die Taste gedrückt halte.>> Problem dabei: Es wird jedesal gemessen, und laut euch und auch mir> liegt der Fehler nicht bei der SOftware. Und an der Hardware passen die> Pegel und der Pin.
??
Grrrr schrieb:> Ausserdem hat niemand geschrieben das es nicht an der Hardware oder> Software liegt.
Für mich kam es so rüber da es am Anfang keine Lösungsvorschläge gab nur
Verbesserungsvorschläge, daher die Annahme.
Grrrr schrieb:> Wenn unabhängig davon, ob der Schliesser betätigt ist oder nicht, die> Messung durchgeführt wird, dann steht im EEPROM eine Null.
ich habe jetzt was in sollwert steht ausgegeben:
1
//Read EEPROM:*****************************
2
if(!(PIND&(1<<PD0)))
3
sollwert=0;
4
else
5
sollwert=eeprom_read_word(&EEsollwert);
6
7
lcd_setcursor(0,1);
8
sprintf(buffer,"%d",sollwert);
9
lcd_string(buffer);
10
_delay_ms(3000);
11
//*****************************************
12
13
//Messe die Linie aus und zeige Zustände am Display*+*+*+*+*+*
14
if(sollwert==0)
15
{
16
sollwert=messeSollwert();
17
eeprom_write_word(&EEsollwert,sollwert);//Schreibe Messung ins EEPROM, damit nicht immer wieder
18
//neu ausgemessen werden muss, neue Messung wird erzwunden
19
//durch PINC.1 = 1
20
}
Am Display ist bei und bei keiner Tastenbetätigung nur eine -1 oder 2142
oder eine 0 angezeigt.
Was das soll weiß ich auch nicht, arbeite aber drann.
Grrrr schrieb:> Seufz. Jetzt schreibst Du es wieder andersherum.
nein habe ich nicht, ließ dir nochmal das durch:
Grrrr schrieb:> denn aus dem EEPROM wird genau dann gelesen wenn am Portpin eine 1 (ein> High) liegt, also wenn der Schliesser nicht betätigt ist. Das musst Du> umdrehen, wie oben von Karl Heinz beschrieben.Brocken Sei schrieb:> JA das soll auch so sein, denn nur dann kriege ich einen Wert von> sollwert >0 und es wird nicht gemessen.Grrrr schrieb:> Ich verstehe sowieso nicht, warum Du nicht einfach direkt programmierst> was passieren soll. Warum dieser Umweg über sollwert um die> Tasterstellung weiterzugeben, wenn die Konsequenz ohnehin klar ist?
Ich wollte mal auf meine neue Hardware vorbereiten in die ein paar
Taster eingelötet werden, und spätestens dann muss ich sowas in der Art
machen. Die If Abfrage brauche ich nur weill die Motoren zwischendurch
viel Strom ziehen und der Controller sich resetet und das nicht
auffallen darf.
Gruß Bro
Grrrr schrieb:> if((PIND) & (1<<PD0))> sollwert = eeprom_read_word(&EEsollwert);> else {> sollwert = messeSollwert();> eeprom_write_word(&EEsollwert, sollwert);> }
Sry wieder nicht ganz durchgelesen, ja das wär ne idee.
Gruß Bro
Brocken Sei schrieb:> Grrrr schrieb:>> Ich geb's auf.>> Ist ok, ich bins sowieso gewohnt immer alleine die Fehler zu finden.
Du hast sie ja schliesslich auch eingebaut :-)
(Soll jetzt keine Anmache sein)
Karl heinz Buchegger schrieb:> Du hast sie ja schliesslich auch eingebaut :-)
Nun ja, es gibt keine Fehlerfreie Software, so ist halt in der
Programmierung.
Karl heinz Buchegger schrieb:> (Soll jetzt keine Anmache sein)
Achso, du weißt also was schief läuft`?
Gruß Bro
War scheinbar doch kein Fehler, es hat zwar grad 4 mal hintereinader
funktioniert aber das wars auch schon.
Egal.
Morgen ist ein neuer Tag und da kann ich sicher klarer denken.
Gute Nacht
Bro
Aha. Aber Du hast alles genau gelesen, was?
Grrrr schrieb:> Der Wert gleich Null wird vermutlich aus> dem EEPROM stammen.Brocken Sei schrieb:> Grrrr schrieb:>> Der Wert gleich Null wird vermutlich aus>> dem EEPROM stammen.Grrrr schrieb:> Brocken Sei schrieb:>> Grrrr schrieb:>>> an der EPPROM-Adresse ein Wert ungleich Null steht.>>>> Das muss es sogar in meinem Fall, was gleich Null gibt es nicht> Natürlich existiert ein Wert gleich Null, nämlich genau die Null!> Was Du meinst, ist, das Du nicht "erwartest" das da eine Null steht. Man> kann sich aber irren. Deswegen sollst Du es nachprüfen.Grrrr schrieb:> Prüf nach was im EEPROM steht und negiere die Bedingung.
_Viermal_habe ich Dich aufgefordert das zu prüfen.
Du kannst wohl davon ausgehen, dass ich Dir nicht nochmal helfe.
Grrrr schrieb:> Aha. Aber Du hast alles genau gelesen, was?>> Grrrr schrieb:>> Der Wert gleich Null wird vermutlich aus>> dem EEPROM stammen.>> Brocken Sei schrieb:>> Grrrr schrieb:>>> Der Wert gleich Null wird vermutlich aus>>> dem EEPROM stammen.>> Grrrr schrieb:>> Brocken Sei schrieb:>>> Grrrr schrieb:>>>> an der EPPROM-Adresse ein Wert ungleich Null steht.>>>>>> Das muss es sogar in meinem Fall, was gleich Null gibt es nicht>> Natürlich existiert ein Wert gleich Null, nämlich genau die Null!>> Was Du meinst, ist, das Du nicht "erwartest" das da eine Null steht. Man>> kann sich aber irren. Deswegen sollst Du es nachprüfen.>> Grrrr schrieb:>> Prüf nach was im EEPROM steht und negiere die Bedingung.>> _Viermal_habe ich Dich aufgefordert das zu prüfen.
Ok vielleicht gehe ich jetz nich nicht schlafen,
wieso ließt du nicht genauer:
Brocken Sei schrieb:> ich habe jetzt was in sollwert steht ausgegeben://Read
EEPROM:*****************************
> if(!(PIND & (1<<PD0)))> sollwert = 0;> else> sollwert = eeprom_read_word(&EEsollwert);>> lcd_setcursor(0, 1);> sprintf(buffer, "%d", sollwert);> lcd_string(buffer);> _delay_ms(3000);> //*****************************************>> //Messe die Linie aus und zeige Zustände am Display*+*+*+*+*+*> if(sollwert == 0)> {> sollwert = messeSollwert();> eeprom_write_word(&EEsollwert, sollwert); //Schreibe Messung ins EEPROM,
damit nicht immer wieder
> //neu ausgemessen werden muss, neue Messung wird
erzwunden
> //durch PINC.1 = 1> }>> Am Display ist bei und bei keiner Tastenbetätigung nur eine -1 oder 2142> oder eine 0 angezeigt.Grrrr schrieb:> Du kannst wohl davon ausgehen, dass ich Dir nicht nochmal helfe.
Wenn man gut in seiner Sache ist und etwas in ein Forum stellt dann
rechnet man nie damit dass einem richtig geholfen wird, wieso auch?
Du denkst doch nicht ich wär abhängig oder?
Das "ins Forum reinstellen" mache ich neben meiner richtigen Arbeit, und
die Wahrscheinlichkeit dass was dabei nützlich rauskommt liegt bei
meiner Erwartung um die 10% herum, naja immerhin etwas.
Also merke dir eines: Wenn du keine Lust hast dann schleich dich!
Gruß Bro
Brocken Sei schrieb:> Du denkst doch nicht ich wär abhängig oder?
Schau'n wir doch mal zusammen ob ich Anlass dazu habe:
1. Beitrag "LCD Zeichen von 16 auf 20 ändern - GCC"
Ursache: Tutorial nicht genau gelesen. Pin war nicht oder falsch
angeschlossen. Fehlerbeschreibung so ungenügend das Aussenstehende das
Problem nicht erkennen konnten. Anschliessend Disput über seinen Frage-
und Diskussionstil und Rückzug in die Defensive (ich bin ja sowieso
dumm).
2. Beitrag "Timer1-PWM Init Unterprogramm"
Ursache: Unkenntnis der String-Verarbeitung, spez. Unterschied Zeiger
und String-Literal. Lehnt lesen und lernen der Grundlagen ab. Keine
objektive Betrachtung der Bedeutung von Sprachdefinitionen.
3. Beitrag "char-String mit directive vergleichen"
Ursache: Unkentniss der String-Verarbeitung, spez. Vergleich. Ruhiger
und freundlicher Abschluss des Threads
4. Beitrag "LCD_Formarierungsalgorithmus-sprintf"
Ursache: Unkenntnis über printf format string.
Unklare Fehlerbeschreibung. Unkenntnis des Unterschieds zwischen dem was
sein Programm tun soll und dem was es tatsächlich tut. Abschliessend in
die Defensive.
5. Beitrag "PID Algorithmus: Verbindung zwischen Aktoren und Sensoren und dem PID"
Keine eigentliche Ursache da Frage nach Information: Unklare,
themenunangemessene Formulierungen. Deutliche Lücken im "technischen
Denken". Passiv-aggressiver Abschluss. (Na ich werds schon finden).
[wegen Link-Anzahlb-Begrenzung Fortsetzung im nächsten Posting]
6. Beitrag "C-Code für AVR- Mikrocontroller simulieren- gibt es überhaupt eine vernünftige IDE?"
Ursache: Nicht geklärt. Keine Fehlerbeschreibung. Das er AVRStudio,
Eclipse und CodeBlocks zum abstürzen bekommen hat motiviert ihn nach
einer "vernünftigen" IDE zu fragen. Erstaunte Überraschung.
7. Beitrag "Aktivieren der Floating Point Version von sprintf in Eclipse"
Ursache: Keine Kenntnis der Eclipse IDE (rtfm). Keine Klarheit über
Unterschied zwischen Lib und h-File. Abwertung einer genannten
Alternative ohne Reflektion. Auffällig: Jetzt (Datum später als Punkt 6)
geht Eclipse.
Aber in dem Thread keine Erklärung was die Ursache war.
8. Beitrag "WinHlp32.hlp und nicht WinHlp32.exe benötigt VMLAB"
Ursache: Keine eigene Internetsuche.
9. Beitrag "Algorithmus für Linefollower mit 5 Sensoren"
Ursache: Letzlich falsches Verständnis der Problemsituation. Unklare
Problembeschreibung: "wie schreibe ich das". Offensichtlich kein
Problemverständis von "LineFollower" im Zshg. mit verwendetem Sensor,
Steuerung und Regelung. Forderndes, defensives und aggressives
Verhalten. Vermutlich Lüge über Vorerfahrungen mit Linefollowern.
Brocken Sei schrieb:> Du denkst doch nicht ich wär abhängig oder?
Tja, Du wirst staunen. Das denke ich.
Aber was heisst das schon. Ich weiss auch viele Sachen nicht und manche
meiner Fehler halte ich für wirklich dumm. Irgendwie sind wir alle mehr
oder minder von was oder wem abhängig.
>Das "ins Forum reinstellen" mache ich neben meiner richtigen Arbeit,
Ist nicht nötig. Wir kommen auch ohne das klar. Danke.
Aber Deine Haltung ist nicht angemessen. Ich denke, das Du hier nur
konsumierst.
Wir helfen gerne, aber bitte: Tu wenigstens so als wenn Du uns
respektierst. Gib Dir Mühe bei den Fehlerbeschreibungen; du brauchst
Dein Gesicht nicht zu wahren; lies mal gründlicher was die Anderen
schreiben.
Schade, dass ich noch nicht schlafen gegangen bin, war die ärgste
Zeitverschwendung auf deine ich nenns mal so "Verteidiung" zu warten.
Also was du mir mit deinem letzten Beitrag näher gebracht hast ist
folgendes:
Du bist ein Freak
Das sollst überhaupt nict als Kompliment nehmen, denn ich schreib dir
mal auf was du gerade gemacht hast:
Du hast jeden Thread von mir Aufgesucht, ihn studiert, teilweise falsch
analysierte Zusammenfassung aufgeschrieben nur um mir oder wen auch
immer zu beweisen, dass ich ein nichtswissender idiot bin, der zu dumm
ist selbst was auf die Reihe zu kriegen, damit du dich nicht so
beleidigt fühlst.
Aber ich stelle nun wieder so mache Dinge klar: Wenn du dich ausheulen
willst dann tuh das bei deina mami, und nicht bei so einer Plattform
Grrrr schrieb:> aber bitte: Tu wenigstens so als wenn Du uns> respektierst.
wenn du respekt suchst, dann nicht im Internet sondern im realen Leben
und in einer Firma wo du dich hinaufarbeitest oder auch bei deiner
Familie, aber erwarte bitte nicht zu viel, ich werd mir fürs nächste mal
mühe geben deinen Wunsch zu erfüllen, aber nur weil du darum gefragt
hast^^
Grrrr schrieb:> ig. Wir komm
Wer ist wir?
Du bist nichtmal angemeldet und zählst dich zu den sehr hilfsbereiten in
dieser Plattform.
Grrrr schrieb:> Gib Dir Mühe bei den Fehlerbeschreibungen
Das werde ich, versprochen!
Grrrr schrieb:> du brauchst> Dein Gesicht nicht zu wahren
hahaha, wie meinst du denn das?
Grrrr schrieb:> lies mal gründlicher was die Anderen> schreiben.
Wenn ich mich nicht täusche sieht man in diesem Thread dass das auch für
Herrn Grrr geht.
Grrrr schrieb:> Aber Deine Haltung ist nicht angemessen. Ich denke, das Du hier nur> konsumierst.
Das tun 60% aller Leute hier, also beschuldige mich bitte nicht falschen
verhaltens, außerdem kann ich nicht nur konsumieren wenn doch andere aus
meinem Thread möglicherweise Erfahrung bringen.
Grrrr schrieb:> Vermutlich Lüge über Vorerfahrungen mit Linefollowern.
Genau solche Sachen zählen zu Hilfsbereiten Leuten hier zu dem
negativsten und abstoßendstem. Du weißt ganz genau, dass das reiner
Schwachsinn ist, weil ich das schon sehr oft gesagt habe, und mir
dennoch nicht zu glauben ist kindisch und nicht kollegial!
Aber im Großen und ganzen glaube ich dass du zu lange vor dem PC sitzt
sowie viele andere(mit AUsnahmen natürlich die ihre Arbeit am PC haben
und die die hobbymäßig 2 Stunden am Tag was machen). Du solltest nicht
alles so persönlich nehmen was gesagt wird, denn wir kennen uns ja
hließlichsc nicht wirklich. Und wenn du was falsches machst dage ich
bestimmt nichts, denn Fehler passieren immer. Also lassen wir lieber in
Zukunft die Emotionen weg und konzentrieren uns wie wir am besten und
effizientesten den Thread nützlich machen können.
Gruß Bro
Hi
>Die If Abfrage brauche ich nur weill die Motoren zwischendurch>viel Strom ziehen und der Controller sich resetet und das nicht>auffallen darf.
Interessanter Ansatz.
MfG Spess
spess53 schrieb:>>Die If Abfrage brauche ich nur weill die Motoren zwischendurch>>viel Strom ziehen und der Controller sich resetet und das nicht>>auffallen darf.> Interessanter Ansatz.
Warum auch die Ursache bekämpfen, wenn man es so schön dirty machen
kann^^.
Der Thread hat echt mal wieder meinen Tag gerettet.
Grüsse
Eigentlich hab ich am Anfang des Threads schon darauf gewartet, dass
diesmal der Compiler schuld ist :-)
Aber ich wollte mich ja eigentlich aus Brocken Sei's Threads raushalten.
Bin schon weg.
Brocken Sei schrieb:> ...ich nenns mal so "Verteidiung"...
Nenn' es Verteidigung. Deswegen ist es noch keine.
Wen oder was sollte ich denn verteidigen? Wen oder was meinst Du
gefährden zu können und auf welche Weise?
Du wirst Dich vielleicht erinnern, dass Du fragtest, ob ich Dich für
abhängig halte. Um Dir darauf zu antworten machte ich eine Analyse
Deiner Threads. Einfach eine Frage der Redlichkeit. Wenn Du mir eine
solche Frage stellst ziehe ich es vor die Antwort zu fundieren. Wo
siehst Du da eine Verteidigung? Tja, da haben sich eben noch weitere
Fakten und Urteile ergeben. Ist halt so. Hättest es halt nicht
herausfordern sollen.
> denn ich schreib dir> mal auf was du gerade gemacht hast:
Wenn Du meinst das es nötig ist...
Du nimmst wohl an, das man das, was ich getan habe, tun kann ohne es zu
merken. Kam mir nicht so vor, als wenn ich das nicht bemerkt hätte.
> teilweise falsch> analysierte Zusammenfassung aufgeschrieben
Nein. Ich habe eine Zusammenfassung erstellt. Ich habe hingegen nicht
eine (meine eigene Zusammenfassung) analysiert. Da ich keine Analyse
meiner Zusammenfassung hingeschrieben habe, kannst Du auch garnicht
wissen ob ich sie analysiert habe. Du meinst wahrscheinlich, die
Zusammenfassung meiner falschen Analyse oder die falsche Zusammenfassung
meiner Analyse oder vielleicht auch meine falsche Zusammenfassung meiner
falschen Analyse.
Im ersten Fall wird über die Qualität der Zusammenfassung nichts gesagt
aber über die der Analyse, im zweiten die Zusammenfassung qualifiziert
und nicht die Analyse, im dritten beides. An Deiner Ausdrucksweise und
Denkfähigkeit solltest Du wirklich noch ein wenig arbeiten.
"Teilweise falsch", ist doch schon mal ein guter Ansatz.
> nur um mir oder wen auch> immer zu beweisen, dass ich ein nichtswissender idiot bin, der zu dumm> ist selbst was auf die Reihe zu kriegen, damit du dich nicht so> beleidigt fühlst.
Das war garnicht meine Absicht. Das Ergebnis einer solchen Analyse kann
man ja vorher garnicht wissen. Es wäre auch ziemlich idiotisch mit einer
vorgefassten Meinung eine Analyse zu beginnen.
Wenn ich zu dem Ergebnis gekommen wäre, dann hätte ich diesen Schluss
auch hingeschrieben.
Darüber hinaus wäre mir die Kennzeichung Idiot im Sinne von "Stümper",
"unwissender Mensch" auch zu ungenau gewesen. Lies die Zusammenfassungen
der Analysen und den Schluss. Ich habe Dich nicht einmal als "Irgendwas"
gekennzeichnet sondern Dein Verhalten beschrieben. Daneben ist mir
schleierhaft, auf welche Weise Du meinst mich beleidigt zu haben,
abgesehen von der Frage, wie denn das eigentlich gehen sollte.
> Aber ich stelle nun wieder so mache Dinge klar: Wenn du dich ausheulen> willst dann tuh das bei deina mami, und nicht bei so einer Plattform
Wer heult den bitte und welche meiner Äusserungen ist so zu
interpretieren?
So eine Unterstellung ist doch reine Taktik. Was meinst Du damit zu
gewinnen? Oder noch ein Beleg, dass Du kein Textverständis hast?
> wenn du respekt suchst, dann nicht im Internet sondern im realen Leben> und in einer Firma wo du dich hinaufarbeitest oder auch bei deiner> Familie, aber erwarte bitte nicht zu viel, ich werd mir fürs nächste mal> mühe geben deinen Wunsch zu erfüllen, aber nur weil du darum gefragt> hast^^
Ich "suche" keinen Respekt sondern "erwarte" von Dir, als dem hier um
Hilfe Ersuchenden genau den Respekt, der in solch einer Situation und
der Person gegenüber angemessen ist, die man um Hilfe ersucht. Einen
Unterschied zwischen dem "Internet" und dem "realen Leben" kann ich in
meinem Weltbild nicht feststellen und ich halte ihn auch nicht für
sinnvoll. Demgemäß erwarte ich, setze ich mal voraus das man die beiden
Sphären unterscheiden könnte, in beiden den selben Respekt.
> Wer ist wir?> Du bist nichtmal angemeldet und zählst dich zu den sehr hilfsbereiten in> dieser Plattform.
"Wir" sind im vorliegenden Fall eine Anzahl von Menschen, von denen
einer (nämlich ich) sich selbst und die mit ihm eine gemeinsame
Aktivität durchführenden Personen bezeichnet.
Zwischen der Tatsache das ich nicht angemeldet bin und der evtl.
Tatsache, das ich mich für hilfbereit halte sehe ich keinen inneren
Zusammenhang oder gar Widerspruch. Der Diktion nach handelt es sich wohl
um einen Vorwurf. Ich kann in darin, dass genau beides auf mich zutrifft
oder zutreffen könnte nichts negatives sehen.
> Das werde ich, versprochen!
Danke. Das ist sehr freundlich von Dir.
> Grrrr schrieb:>> du brauchst>> Dein Gesicht nicht zu wahren>> hahaha, wie meinst du denn das?
"Das Gesicht wahren" heisst soviel wie anderen Menschen gegenüber das
Bild aufrecht erhalten oder herstellen wollen, das diese von einem haben
oder dem eigenem Wunsch entsprechend haben sollten wobei im engeren
Sinne einer Person eine als negative beurteilte Eigenschaft nicht oder
nicht mehr zugeordnet werden soll.
> Grrrr schrieb:>> lies mal gründlicher was die Anderen>> schreiben.>> Wenn ich mich nicht täusche sieht man in diesem Thread dass das auch für> Herrn Grrr geht.
Es kommt mitunter vor, das ich oberflächlich lese. In diesem Thread gibt
es so einen Fall den man so deuten könnte, das stimmt.
Na und?
> Grrrr schrieb:>> Aber Deine Haltung ist nicht angemessen. Ich denke, das Du hier nur>> konsumierst.>> Das tun 60% aller Leute hier, also beschuldige mich bitte nicht falschen> verhaltens, außerdem kann ich nicht nur konsumieren wenn doch andere aus> meinem Thread möglicherweise Erfahrung bringen.
Du hast z.B. hier wieder nicht gründlich gelesen und nachgedacht.
Erstmal besteht zwischen dem Anteil von Menschen einer Gruppe die
oberflächlich lesen und der Tatsache das einer davon um gründlicheres
lesen gebeten wird kein logischer Zusammenhang. Also ist eine Bitte die
mit dem Wort "also" einen solchen herstellt sachlich damit nicht
hinreichend begründet. Im übrigen tue ich was ich für richtig halte. Das
Dir das nicht angenehm sein kann, meine ich genügend bedacht zu haben.
Dann halte ich ehrlich gesagt, das Wissen, das man gerade aus Deinen
Threads ziehen kann für eher begrenzt und im Vergleich zu anderen
Threads gleichen Themas sogar für sehr eng begrenzt, jedenfalls aber für
höchstens gleichwertig.
Tatsächlich begründe ich meine Auffassung mit zwei Fakten: Erstens hast
Du niemals hier einem Anderen geholfen und zweitens zeigst Du verbal,
dass Du ständig forderst, Informationen nicht selbstständig verarbeitest
und auf sachliche Kritik abweisend reagierst. Alles Verhalten einer
Person die meint erwarten zu können, ja ein Recht auf das zu haben was
man ihr hier scheinbar verweigert: Einfache Antworten, die man ohne
selbst zu denken übernehmen kann.
> Grrrr schrieb:>> Vermutlich Lüge über Vorerfahrungen mit Linefollowern.>> Genau solche Sachen zählen zu Hilfsbereiten Leuten hier zu dem> negativsten und abstoßendstem. Du weißt ganz genau, dass das reiner> Schwachsinn ist, weil ich das schon sehr oft gesagt habe, und mir> dennoch nicht zu glauben ist kindisch und nicht kollegial!
Dein Satzbau ist zwar ein wenig ungeschickt, aber ich nehme zur
Kenntnis, dass eine kritische Meinung von einem der hilfsbereit ist Dich
abstösst.
Deine Unterstellung das ich sehr wohl wüsste das meine Vermutung (und
nicht nur meine) unwahr ist, steht im Widerspruch zur Tatsache, das ich
sie geäussert habe und zu dem Fakt, dass Du nicht wissen ob ich darüber
Kenntnis habe oder nicht.
Ich kann ja nicht gut gleichzeitig ein "Wissen" darüber haben, dass Du
nicht gelogen hast und "vermuten" das Du es getan hast. Es sei denn,
dass Du entweder denkst, dass wiederum ich lüge, indem ich wider
besseres Wissen oder entgegen meiner tatsächlichen Annahmen über den
Sachverhalt solch eine Vermutung äussere oder das eine pathologische
Ursache dafür verantwortlich ist. Aus welchem Grunde Du so etwas denken
solltest weiss ich nicht. Tatsachen über mein Wissen oder meine Annahmen
können Dir garnicht bekannt sein und für die Diagnose von mentalen
Zuständen halte ich Dich nicht für qualifiziert.
Ob es kindisch wäre, Vermutungen entgegen den tatsächlichen Annahmen
oder im Widerspruch zu faktischem Wissen zu äussern, halte ich für
unwichtig. Ich nehme an diese Einordnung soll mich herabsetzen.
Dein Kollege bin ich nicht. Insofern ist der Vorwurf der
"unkollegialität" überhaupt nicht anwendbar. Du wirst mir sicherlich
zustimmen das eine Person, die kein Kollege ist, sich schon aus rein
logischen Gründen nicht unkollegial verhalten kann.
> Aber im Großen und ganzen glaube ich dass du zu lange vor dem PC sitzt> sowie viele andere(mit AUsnahmen natürlich die ihre Arbeit am PC haben> und die die hobbymäßig 2 Stunden am Tag was machen).
Abgesehen davon, das unklar bleibt "wofür" ich zu lange am PC sitze,
kann ich Dir sagen, das das was Du als Ausnahme definierst auf mich
zutrifft. Ich bin beruflich in der Hardware und Software-Entwicklung
tätig.
> Du solltest nicht> alles so persönlich nehmen was gesagt wird, denn wir kennen uns ja> hließlichsc nicht wirklich.
Deinen Rat nehme ich zur Kenntnis.
> Und wenn du was falsches machst dage ich> bestimmt nichts, denn Fehler passieren immer.
Sag' mir ruhig, wenn ich einen Fehler mache.
Es heisst doch so schön, das man aus seinen Fehlern lernt; sogar noch
mehr, als aus dem, was man auf Anhieb richtig macht.
> Also lassen wir lieber in> Zukunft die Emotionen weg und konzentrieren uns wie wir am besten und> effizientesten den Thread nützlich machen können.
Emotionen? Für mich ist das ein Spass, sowas richtig schön im Detail
auseinanderzunehmen.
Ach, noch was:
Mängel am Netzteil mit irgendwelchen Softwaretricks zu umgehen ist
überhaupt nicht ratsam.
Brocken Sei schrieb:> Du hast jeden Thread von mir Aufgesucht, ihn studiert, teilweise falsch> analysierte Zusammenfassung aufgeschrieben nur um mir oder wen auch> immer zu beweisen, dass ich ein nichtswissender idiot bin, der zu dumm> ist selbst was auf die Reihe zu kriegen, damit du dich nicht so> beleidigt fühlst.
Einmal darf ich noch. Denn hier liegt ein Misverständnis vor.
Es geht nicht darum, dich als Idioten hinzustellen.
Wir alle machen Fehler und wir alle in der Softwarebranche verrennen uns
zeitweise in die falsche Richtung.
Das ist so und jeder, der lange genug dabei ist, weiß das das nicht zu
vermeiden ist. Egal wie sehr wir uns bemühen.
Deswegen ist man noch lange kein Idiot. Und auch hier wieder: Niemand
weiß das besser, als diejenigen die lange genug in der SW-Branche
arbeiten.
Genauso auch hier in deinem Fall: Niemand will dich als Idiot
hinstellen.
Aber wenn du etwas ungeschickt angehst, wenn dir Grundlagen fehlen, wenn
du ein Projekt mit Halbwissen versuchst durchzuziehen, dann wird dir
hier im Forum immer der Spiegel vorgehalten. Nicht, weil wir dich als
Idioten hinstellen wollen, sondern weil wir dich dazu animieren wollen,
deine Wissenslücken zu schliessen. Und zwar am besten indem man nicht
alles vorkauen muss, sondern indem du selbst tätig wirst. Durch nichts
lernt man soviel, wie durch eigene Erfahrung.
Dein Code-Stil zb hat sich mitlerweile ganz gut entwickelt (um mal auch
etwas positives zu sagen). Lediglich dieser Abschnitt
1
//Read EEPROM:*****************************
2
registerVariable=PIND;
3
registerVariable&=0b00000001;
4
if(registerVariable&0b00000001)
5
sollwert=eeprom_read_word(&EEsollwert);
6
elseif(registerVariable&0b00000000)
7
sollwert=0;
8
//*****************************************
9
10
//Messe die Linie aus und zeige Zustände am Display*+*+*+*+*+*
11
if(sollwert==0)
12
{
13
sollwert=messeSollwert();
14
eeprom_write_word(&EEsollwert,sollwert);//Schreibe Messung ins EEPROM, damit nicht immer wieder
15
//neu ausgemessen werden muss, neue Messung wird erzwunden
16
//durch PINC.1 = 1
17
}
der passt überhaupt nicht zum Rest. Der ist schwer zu lesen, kryptisch,
unübersichtlich - und im Grunde wundert es von den erfahrenen
SW-Entwicklern niemanden, dass er fehlerhaft ist. Man muss ständig
zwischen den Zeilen springen und Variablen verfolgen. Welchen Wert hat
welche Variable wann und warum, was folgt daraus. Wer wird mit wem
verundet und warum, was kommt da raus, warum gibt es ein else if (würde
ein else alleine nicht auch reichen) etc. etc. Dazu kommt, dass ein
Variebalenname ala "registerVariable" nicht wirklich klug gewählt ist.
16 Zeilen für etwas, was man locker in weniger als der Hälfte, bei
gleichzeitig besserer Lesbarkeit, ausdrücken könnte. In gewisser Weise
hat hier das Politikersyndrom zugeschlagen: Wo jeder normale Mensch Ja
oder Nein sagen würde, reden Politiker kompliziert um den heißen Brei
herum ohne etwas zu sagen. Dein Code dupliziert das ein bischen in C.
Die Länge des Codes ist der Fragestellung überhaupt nicht angemessen.
Natürlich erkennt man solche Dinge nicht auf Anhieb und man braucht
Übung. Dáher zeigen wir auch Alternativen.
1
sollwert=eeprom_read_word(&EEsollwert);
2
3
if(!(PIND&(1<<PD0))||sollwert==0)
4
{
5
sollwert=messeSollwert();
6
eeprom_write_word(&EEsollwert,sollwert);
7
}
Wenn sich aber dann herausstellt, dass während man sich Alternativen
überlegt hat, sich bei dir wieder alles umdreht (inklusive dem
erwünschten Verhalten bei Tastendruck), dann verliert man als Helfer
irgendwann die Lust.
Und denk dran: niemand hier kann dir über die Schulter schauen. Alles
was wir an Information haben, ist das was du uns gibst.
Einmal ist der Taster gedrückt, dann wieder nicht.
Wir haben nur das, was du schreibst. Also stell besser sicher, dass
zumindest die gröbsten Fehler aussortiert sind. Da bleibt dann noch was
übrig, aber ein bischen zwischen den Zeilen lesen können wir auch.
Und dann ist natürlich noch die Tatsache, dass all das nicht das erste
mal ist. Wenn sich die Geschichte in jedem Thread immer wieder erneut
wiederholt, dann wird dein Vorschuss-Bonus mit der Zeit immer kleiner.
Der Thread ist ein Lehrstück einer alten Geschichte:
Gib einem Hungrigen einen Fisch, und er hat für einen Tag zu essen. Gib
ihm eine Angel, und er wird Dir sagen, was zum Kuckuck er mit einem
beschissenen Stück Schnur anfangen soll, wo er doch Hunger hat.
@Grrr:
ok, ich verstehe deine Wut, du hast gewonnen, ich überlasse dir den
letzen längeren Beitrag :)
keinen Bock mehr auf so nen Freak wie dich einzugehen, das führt nur zu
längeren Beiträgen zu gunsten keinem!
Karl heinz Buchegger schrieb:> Durch nichts> lernt man soviel, wie durch eigene Erfahrung.
Richtig.
Karl heinz Buchegger schrieb:> Lediglich dieser Abschnitt...
Das war ein einfaches Experiment, ich wusste ich kann das so nicht
stehen lassen, ich habe das Tutorial gelesen, und als erstes Beispiel
war es genau so beschrieben, also wollte ich es auch mal so machen, ihr
konntet natürlich nichts wissen, wie auch?
Ich versteh aber trotzdem die AUfregung nicht, weil es ja nicht falsch
war was ich hingeschrieben habe.
Karl heinz Buchegger schrieb:> der passt überhaupt nicht zum Rest. Der ist schwer zu lesen, kryptisch,> unübersichtlich - und im Grunde wundert es von den erfahrenen> SW-Entwicklern niemanden, dass er fehlerhaft ist. Man muss ständig> zwischen den Zeilen springen und Variablen verfolgen. Welchen Wert hat> welche Variable wann und warum, was folgt daraus. Wer wird mit wem> verundet und warum, was kommt da raus
Da stimme ich dir zu, ich wusste von vornherein bevor ich gebrannt hab
dass das nicht funktionieren würde.
Karl heinz Buchegger schrieb:> warum gibt es ein else if (würde> ein else alleine nicht auch reichen)
Das hat seinen einfachen Grund: Bevor ich meinen Code ins Forum stellte
habe ich sehr viel ausprobiert.
Anfangs stand da nur ein else und da der COntroller meinen Code falsch
ausführte, ohne dass ich den Fhler entdeckte, sank ich noch tiefer und
wollte alles eingrenzen, im Endeffekt war es dann sinnlos, aber Versuch
halt.
Hc Zimmerer schrieb:> Dazu kommt, dass ein> Variebalenname ala "registerVariable" nicht wirklich klug gewählt ist.> 16 Zeilen für etwas, was man locker in weniger als der Hälfte, bei> gleichzeitig besserer Lesbarkeit, ausdrücken könnte.
Wie schon vorher gesagt, --> Erstes Beispiel im Tutorial.
Karl heinz Buchegger schrieb:> Dáher zeigen wir auch Alternativen.
Auch wenn du das jetzt nicht glauben willst, so habe ich es heute früh
auch probiert, und es hat noch macken, denn sollwert zeigt nicht immer
die vorher gemessene Variable an, aber ich glaube langsam es liegt an
der schmutzigen Hardware.
Karl heinz Buchegger schrieb:> Wenn sich aber dann herausstellt, dass während man sich Alternativen> überlegt hat, sich bei dir wieder alles umdreht (inklusive dem> erwünschten Verhalten bei Tastendruck), dann verliert man als Helfer> irgendwann die Lust.
Das verstehe ich, ich habe mich auch entschuldigt.
Und wenn ein Helfer seine Lust verliert, dann soll er doch wem anderen
"helfen", aber wieso denn sagen, das ist doch unter seinem Niveau oder?
Karl heinz Buchegger schrieb:> Wenn sich die Geschichte in jedem Thread immer wieder erneut> wiederholt
Ich werde mich bemühen noch besser auf meine Probleme einzugehen und sie
zu verdeutlichen.
Karl heinz Buchegger schrieb:> dann wird dein Vorschuss-Bonus mit der Zeit immer kleiner.
hah, wieso das? Und was für ein Vorschussbonus?
Ich glaube du hast mich falsch verstanden.
Ich erkläre es noch einmal: Ich bin nicht abhängig!
Weder von dir Karl noch von Mr Grr (wer auch immer das ist) und sonst
auch von keinem anderen.
Natürlich ist es schön wenn man Hilfe bekommt, deswegen schätze ich
diese Plattform so, weil es die einzige ist wo man so schnell auf Hilfe
zählen kann. Ich bin noch längst nicht an dem Punkt angelangt anderen zu
helfen, da ich noch mitten im uC-Studium bin.
Gruß Bro
Hc Zimmerer schrieb:> Gib einem Hungrigen einen Fisch, und er hat für einen Tag zu essen. Gib> ihm eine Angel, und er wird Dir sagen, was zum Kuckuck er mit einem> beschissenen Stück Schnur anfangen soll, wo er doch Hunger hat.
Ich ändere das mal passend zum Thread auf Grillhühnchen. Ich mag Fisch,
aber immer derselbe Fisch...? :-)
Gib einem Hungrigen einen Grillhühnchen , und er hat für einen Tag zu
essen. Gib ihm eine Angel, und er wird Dir sagen, was zum Fisch er mit
einem beschissenen Stück Schnur anfangen soll, wo man Grillhähnchen doch
mit der Axt fängt.
>> Karl heinz Buchegger schrieb:>> Lediglich dieser Abschnitt...> Das war ein einfaches Experiment, ich wusste ich kann das so nicht> stehen lassen, ich habe das Tutorial gelesen, und als erstes Beispiel> war es genau so beschrieben, also wollte ich es auch mal so machen, ihr> konntet natürlich nichts wissen, wie auch?> Ich versteh aber trotzdem die AUfregung nicht, weil es ja nicht falsch> war was ich hingeschrieben habe.
aha.
Ist jetzt der Gegenstand des Experiments die Codezeile an sich gewesen
(bzw. dessen Funktionalität)?
oder ging das Experiment darum, dem Hilfegebenden auf den Zahn zu
fühlen, ob derjenige merkt, daß diese Codezeile "irgendwie merkwürdig"
ist?
>> Karl heinz Buchegger schrieb:>> [..text..]> Da stimme ich dir zu, ich wusste von vornherein bevor ich gebrannt hab> dass das nicht funktionieren würde.
ein interessanter Ansatz. Worin besteht der Zweck? Wolltest du prüfen,
ob der Compiler aufpasst?
> ich glaube langsam es liegt an der schmutzigen Hardware.
Welchen Teil deiner Hardware hast du denn als schmutzig in Verdacht, und
was genau kennst bzw. planst du, um diesen "Schmutz" zu entschärfen?
Sowas von Selbstverliebtheit wie die Beiträge von "Brocken Sei (Gast)"
liest man nicht alle Tage. Danke für diesen Thread.
Wegstaben Verbuchsler schrieb:> Ist jetzt der Gegenstand des Experiments die Codezeile an sich gewesen> (bzw. dessen Funktionalität)?
Seit wann muss man denn Experimentieren begründen?
Wegstaben Verbuchsler schrieb:> Worin besteht der Zweck?
Eine etwas komische Frage, ich grh trotzdem drauf ein, der Zweck von was
denn?
Wegstaben Verbuchsler schrieb:> Welchen Teil deiner Hardware hast du denn als schmutzig in Verdacht
Die gesamte Steuerplatine inclusive Sensorik und Display sind gefähdelt.
Ich werde noch wohl eine Woche warten müssen bis ich meine neue Platine
ätzen kann.
Aber genauer: Die Steuerplatine, dort ist alles drauf E/A, Motortreiber,
uC, Zusatzbeschaltungen. Die Motoren agieren schon ohne dass sie
angesteuert werden. Das hat wohl die Hardware verdächtigt, obwohl doch
allen bekannt ist, dass Motoren auf Störungen abfahren.
Wegstaben Verbuchsler schrieb:> was genau kennst bzw. planst du, um diesen "Schmutz" zu entschärfen?
Das ist gar nicht so einfach.
Ich sag einmal eine neue Steuerplatine (geätzt), einen anderen Weg sehe
ich nicht.
Wegstaben Verbuchsler schrieb:> Sowas von Selbstverliebtheit
Ich bin nicht selbstverliebt. Ich finde es einfach nur falsch wenn man
Leuten hier einfach so manches unterstellen darf. Vor allem Grrr, der ja
scheinbar neben sein Informatikstudium auch noch Jus studiert hat.
Gruß Bro
> Seit wann muss man denn Experimentieren begründen?
Ich wollte von dir nur hören, was das Ziel des Experiments war, und ob
du dieses Ziel erreichen konntest.
> Eine etwas komische Frage, ich grh trotzdem drauf ein, der Zweck von was
denn?
ja, das wollte ich ja grade von dir wissen: Der Zweck deiner Handlung
"ich wusste von vornherein bevor ich gebrannt hab dass das nicht
funktionieren würde" --> Warum "machst" du etwas, von dem du weißt DASS
es dich nicht zum Ziel führt? Oder war das auch wieder ein "Experiment"?
PS: Das ist irgendwie schwierig, mit Inselbegabten wie dir zu
kommunizieren.
http://de.wikipedia.org/wiki/Inselbegabung
Brocken Sei schrieb:> Die gesamte Steuerplatine inclusive Sensorik und Display sind gefähdelt.
Verteil erst mal großzügig Abblockkondensatoren. Auch ein kleiner C am
µC-Reset kann nicht schaden.
Die Versorgung der Motoren möglichst gut von der Versorgung des µC
entkoppeln. Entstörkondensatoren an die Motoren.
> angesteuert werden. Das hat wohl die Hardware verdächtigt, obwohl doch> allen bekannt ist, dass Motoren auf Störungen abfahren.
Mir ist das nicht bekannt.
Bei meinen Motoren kann in der Nähe passieren was will, die sind
unbeeindruckt davon :-)
> Ich sag einmal eine neue Steuerplatine (geätzt), einen anderen Weg sehe> ich nicht.
Kommt drauf an.
Auch gefädelte Platinen laufen im Regelfall zuverlässig. Wenn du auf der
anderen Seite keine geeigneten Entstörmassnahmen ergriffen hast, hilft
dir auch eine geätzte Platine nichts.
Wegstaben Verbuchsler schrieb:> PS: Das ist irgendwie schwierig, mit Inselbegabten wie dir zu> kommunizieren
Naja ok, wenn das deine Meinung ist.
JEtzt eine Bitte:
Können wir diesen Thread schließen oder beenden?
Es hat einfach keinen Sinn da weiter zu diskutieren ob ich nun wirklich
ein vollidiot bin oder einfach so tue odergar das Gegenteil bin.
Wegstaben Verbuchsler schrieb:> PS: Das ist irgendwie schwierig, mit Inselbegabten wie dir zu> kommunizieren
Das hat ja das Bild von mir verdeutlicht.
PS: Mich stört es nicht wirklich was du da gesagt hast, ich nimms nicht
ernst.
Gruß Bro
Karl heinz Buchegger schrieb:> Verteil erst mal großzügig Abblockkondensatoren. Auch ein kleiner C am> µC-Reset kann nicht schaden.
ist drann!
Karl heinz Buchegger schrieb:> Die Versorgung der Motoren möglichst gut von der Versorgung des µC> entkoppeln.
Hmm, meinst du mit OPVs?
Karl heinz Buchegger schrieb:> Entstörkondensatoren an die Motoren.
Sind drann.
Karl heinz Buchegger schrieb:> Mir ist das nicht bekannt.
Echt? Komisch, also viele Erfahrene Roboterbauer sagen Motoren neigen
dazu Störungen einzufangen.
Karl heinz Buchegger schrieb:> Bei meinen Motoren kann in der Nähe passieren was will, die sind> unbeeindruckt davon :-)
Dann hängt das meist mit der gut geätzten Platine zusammen. Abstände
usw..
Karl heinz Buchegger schrieb:> Wenn du auf der> anderen Seite keine geeigneten Entstörmassnahmen ergriffen hast, hilft> dir auch eine geätzte Platine nichts.
Das ist wohl klar.
Gruß Bro
Brocken Sei schrieb:> Karl heinz Buchegger schrieb:>> Mir ist das nicht bekannt.>> Echt? Komisch, also viele Erfahrene Roboterbauer sagen Motoren neigen> dazu Störungen einzufangen.
Motoren neigen höchstens dazu, massenhaft Störungen abzugeben und die
restliche Elektronik ausser Tritt zu bringen.
Aber den Motor selber wirst du mit massenhaft Elektronik rundherum nicht
ausser Tritt bringen können. Was soll denn in einem Motor gestört
werden? Der Stromfluss von den Bürsten/Kohlen zum Kollektor oder fangen
die Windungen zu schwingen an?