Versuchs mal damit (klick hier) - schon der zweite Link ist wohl DER Treffer.Zitat von HM
Uuuuups was steht da noch ??? Ungefähr 1.100.000 Ergebnisse (0,11 Sekunden)Zitat von HM
Hallo,
ich habe schon öfters in Bascom-Programmen die Funktion "Offset" gesehen, auch im Zusammenhang mit "Lookup" zum Tabellen auslesen.
Meine tagelange Suche bei Google und auch hier bei "RN-Wissen" (Es existiert kein Artikel) hat leider nichts ergeben.
Es wär super, wenn mir das jemand erklären könnte, wie und warum das "Offset" in einen Programm steht und wie es angewendet wird. Selbst in der Bascom-Hilfe habe ich da nichts gefunden.
Ach ja, manchmal steht als Kommentar "'zum Offset berechnen", nur kann ich mir daraus nicht viel nehmen.
Vielen Dank schon jetzt für Antworten. MfG
Versuchs mal damit (klick hier) - schon der zweite Link ist wohl DER Treffer.Zitat von HM
Uuuuups was steht da noch ??? Ungefähr 1.100.000 Ergebnisse (0,11 Sekunden)Zitat von HM
Ciao sagt der JoeamBerg
"Offset" ist ein etwas eigenartiger Begriff. Das kann ein Wert zum korrgieren, anpassen einer Messgröße sein. Das kann speziell bei Tabellen ein Adress Zeiger sein. Beispiel eine Tabelle fängt bei Speicher Stelle 100 an und Du willst aber ohne alles zu durchsuchen auf die 10. Stelle zugreifen. dann ist Deine Base = 100, Dein Offset = 10.
Lese base+offset würde dann zur richtige Speicherstelle führen, andere sprechen dabei von "indirekter Adressierung". Aber auch in der Schaltungstechnick kommt dieser Begriff vor, z.B. wenn einem Wechselspannungs Signal einen Gleichspannungs Anteil (offset) besitzt. Offset muss man also immer auf die jeweilige "Situation" bezogen anwenden.
Daher können viele verschiedene Antworten richtig sein.....
Gruß Richard
Offset ist nach Wikipedia http://de.wikipedia.org/wiki/Offset ein "in der Technik (engl. offset für Regelabweichung, Versatz) ein konstanter, additiver oder subtraktiver systematischer Fehler einer Zustandsgröße oder eines Messwertes"
BASCOM-AVR hat solch eine Funktion nicht (hab zumindest keine gefunden) und demnach wird man in der Hilfe da auch nichts finden. Wenn so eine Funktion in einem Programm auftaucht, hat der Programmierer sich eine selbst erstellt. Wozu die da ist kann man dann nur aus dem Programm oder vom Programmierer erfahren.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Weg zu einigen meiner Konstruktionen
Hallo oberallgeier,
vielen Dank für Deine schnelle Antwort.
Den Link den Du schreist hatte ich auch in ähnlicher Form gefunden, nur mit einen etwas abweichenden Suchbegriff. Leider fand ich dort, jedenfalls für Anfänger keine ausreichende und umfangreiche Atwort, die man auch versteht. Bist auf eine Erklärung waren die anderen Suchergebnisse immer auf ein spezielles Projekt bezogen, wo man eigentlich das ganze Programm verstehen müßte, so hatte ich mir das nicht vorgestellt.
Was das lange Suchen betrifft, bezieht sich das auf eine ausreichende Atwort, ich habe einfach viele Stunden danach gesucht und sehr viel gelesen, leider ohne befriedigendes Ergebnis.
Vielen Dank MfG
Hallo Richard,
vielen Dank für deine super Antwort, damit kann man schon etwas anfangen, so stelle ich mir auch eine gute Kommunikation vor.
Als Auslöser zu meiner Frage war, das ich einen 3x3x3 LED-Cube, der bei "Ledstyles" vorgestellt wurde, nachgebaut habe, er funktioniert auch sehr gut, vielen Dank an die Entwickler.
Leider hält sich der Programmierer mit seiner Auskommentierung und Erklärung des Programms etwas bedeckt. Ich wollte das Programm verstehen, das da im µC abläuft, da war eben auch das Offset dabei (im Zusammenhang mit $include-Datei), evtl. kennt das einer.
Bei meiner Fragestellung sollte immer berücksichtigt werden, das ich ein Anfänger in Bascom bin.
Dann fing ich an, wie oben beschrieben, nach Begriffserklärungen zu suchen und bin schließlich hier gelandet, wo Du das sehr sehr schön beschrieben hast.
Jetzt müßte ich nur noch wissen, wie man das "Offset" einsetzt. Du schreibst, das es viele verschiedene Einsatzgebiete dafür gibt, für mich ist momentan nur Bascom vorrangig.
Wenn ich das richtig verstanden habe könnte man das "Offset" auch für eine "Nullpunkt-Einstellen" in einer Anzeige verwenden, ist das so gemeint?
Gut ich hör jetzt auf, genug genervt.
Vielen Dank MfG
Geändert von HM (10.07.2011 um 19:25 Uhr)
Hallo Searcher,
danke, das Du geantwortet hast, es ist doch gut wenn ich gleich 3 Antworten von Experten bekomme, super.
Du schreibst:
"Wenn so eine Funktion in einem Programm auftaucht, hat der Programmierer sich eine selbst erstellt. Wozu die da ist kann man dann nur aus dem Programm oder vom Programmierer erfahren."
Ja so wird es wohl sein, nur wie erfahre ich als Anfänger, wie man das macht? Wichtig ist das auch für das Verständnis eines Programms, das ein User geschrieben hat oder man möchte selbst eins schreiben.
Vielen Dank MfG
Hallo HM,
Na ja, ich sehe ein Programm oder eine Funktion "Offset" nicht als Selbstzweck sondern um irgendeine Aufgabe zu erfüllen. Um ein fremdes Programm zu verstehen muß man erst mal wissen, welche Aufgabe generell zu erfüllen ist und dann noch welche benutzte Hardware welche Eigenschaften hat. Ohne ergiebige Dokumentation inclusive mehr oder weniger gute Ablaufbeschreibung hat man da als Anfänger (ich betrachte mich selbst auch noch als Anfänger) insbesondere bei größeren/komplizierten Programmen kaum eine Chance durchzublicken...nur wie erfahre ich als Anfänger, wie man das macht? Wichtig ist das auch für das Verständnis eines Programms, das ein User geschrieben hat oder man möchte selbst eins schreiben
Wenn Du selbst beginnst Programme zu schreiben, wird Dir vermutlich der Offset, vielleicht auch unter anderem Namen, früher oder später über den Weg laufen und dann wissen, wie Du ihn nutzen mußt, weil er sich aus der Aufgabe ergibt.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Weg zu einigen meiner Konstruktionen
Ich darf kurz konkretes zusammenfassen:
LOOKUP ist der zugriff auf ein Element in einer Tabelle, erfordert logo:
1) den Label der Tabelle (Anfangsadresse = Base (basis))
2) etwas, mit dem der Abstand des gesuchten elementes zur Basis (= Offset) bestimmt werden kann
d.h. letztlich Tabellen-Basis + Offset => elementadresse
Da an der Tabellenbasis schon das erste element steht, hat dieses daher das Offset 0
Beispiel: das Alphabet als tabelle, also die Zeichen A bis Z hintereinander
dann findest zu das "C" mit LOOKUP ( 3, Tabelle)
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo Searcher,
vielen Dank für Deine Antwort.
Du Schreibst:
"Wenn Du selbst beginnst Programme zu schreiben, wird Dir vermutlich der Offset, vielleicht auch unter anderem Namen, früher oder später über den Weg laufen und dann wissen, wie Du ihn nutzen mußt, weil er sich aus der Aufgabe ergibt."
Das ist eben genau der Punkt, wenn ich nicht weiß, was ich mit "Offset" machen kann, dann kann ich Ihn auch nicht verstehen und im Programm benutzen. Das gilt auch für andere Funktionen.
Ich hatte ja anfangs gedacht, daß das "Offset" an sich schon einen bestimmten Programmverlauf auslöst, quasie wie ein Schlüsselwort.
Selbst in den Büchern von Kühnel und Walther fehlt manchmal die Auskommentierung von Anweisungen, so das man rätseln muß, was da abläuft.
Für mich als Anfänger stellt sich immer die Frage, als Bsp. "Offset":
1.wofür braucht man das?
2.was bewirkt es?
3.wo kann/muß ich es einsetzen?
4.wie wirkt es mit dem Programm zusammen?
5.was kommt dabei raus?
6.wo sind Fehler vorprogrammiert?
7. gibt es Alternatieven?
und so weiter
Das sind schon einige Fragen, die mich beschäftigen, denn ein Anfänger, das sagt schon das Wort, muß von Vorne anfangen.
Oft findet man eben nur sehr lückenhafte Erklärungen/Beschreibungen.
Man muß sich eben sehr bemühen, um Ergebnisse zu erreichen, deshalb sind Foren, wie Dieses sehr wichtig. Oft bekommt man gute Antworten, außer es fühlen sich welche als Geheimnisträger und lassen einige Sachen aus.
Vielen Dank MfG
Geändert von HM (11.07.2011 um 11:36 Uhr) Grund: ein Wort hat gefehlt
Lesezeichen