Hallo,
ich bräuchte Hilfe beim Ansteuern, bzw. in Betrieb setzen des RC522. Ich habe das Modul an einen ATMega16 per SPI angeschlossen und programmiere in Assembler. Man findet im Netz milliarden beispiele für die dämlichen Aruinos (sorry) und ihre Bibliotheken bei deren Benutzung man eh nichts lernt sondern sich nur dran erötzt etwas in Betrieb nehmen zu können was ein anderer geschrieben hat. Sorry, musste ich mal los werden :-)
Jedenfalls habe ich keinerlei beispiele in Assembler gefunden die mir auf die Sprünge helfen könnten. Aus dem Datenblatt mit den tausend Registern und deren Funktionen werde ich nicht wirklich schlau, was ich wo konfigurieren, wo was reinschreiben was, wie, wann auslesen um die UID eines Tags zu erhalten. Die Möglichkeiten mit all den Registern ist für mich derart komplex dass ich vermutlich vor lauter Bäumen den Wald nicht sehe. Jedenfalls blick ich da nicht durch
Es geht mir nicht um den assembler Code, den schreib ich mir schon selbst, es geht um die grundlegende Ansteuerung des Moduls, was muss wohin in welches register um einen Tag zu lesen und wie erhalte ich dann die UID dessen.
Evtl kennt jemand die Vorgehensweise und kann mir mal genau erklären wie das Modul zu initialisieren und zu lesen ist.
Dass die Daten letztendlich im FIFo stehen welchen ich auslesen muss kann ich mir gerade noch so zu zusammen reimen.
Mich interessiert die Prozedur, ich möchte verstehen wie das geht.
Also, Wie gesagt das Modul hängt an einem Mega16 an der SPI. Display ist auch dran. Die Routinen zum Senden und empfangen von Adressen und Daten hab ich auch schon geschrieben. Jedenfalls kann ich mir zB das Versions Register 0x37 auslesen, und erhalte den Wert 0x92, was wohl eine gültige Verionsnummer ist. Die kommunikation mit dem Modul scheint also zu funktionieren.
Hilfreich wären jetzt nicht aussagen wie: Les das Datenblatt, Initialisier das Modul erst mal, schalt die antenne ein, setze das gain, ... ja, soweit war ich auch schon. Oder gar hol dir nen Arduino und lad dir die erforderlichen Bibliotheken..usw, nee, genau das möchte ich nicht. Mich interessiert was genau in welche Register muss zur initialisierung, zum Aktivieren des Moduls, suchen nach einen Tag, Nach dem erkennen eines Tags, Wie die UID lesen und wie das ganze aus dem Modul holen....
Für Hilfreiche Beiträge wäre ich daher echt dankbar.
Evtl kennt jemand die Vorgehensweise und kann mir mal genau erklären wie
das Modul zu initialisieren und zu lesen ist.
In der Arduino-Bibliothek steht das doch schon drin. Wenn du den Arduino-Code nicht verstehst, lass ihn dir von ChatGPT erklären. Warum sollte sich jemand die Mühe machen, hier so ein komplexes Thema zu erläutern, wenn es in Form von Arduino-Code schon fertig hingeschrieben ist?
Mich interessiert was genau in welche Register muss zur initialisierung,
zum Aktivieren des Moduls, suchen nach einen Tag, Nach dem erkennen
eines Tags, Wie die UID lesen und wie das ganze aus dem Modul holen....
Blöderweise steht genau das im Datenblatt, in Appnotes und in übergelagerten Dokumenten zu den Protokollen (wie z.B. https://www.nxp.com/docs/en/application-note/AN10833.pdf), die zur Kommunikation mit Mifare- und anderen RFID-Tags nötig sind.
Und wenn du das mal gemacht hast, dann ist dir völlig klar: es gibt Sachen, da ist es völlig sinnlos, die in Assembler machen zu wollen.
Aber wenn mich mein Chef mit viel Geld dazu zwingen würde, dann würde ich genau diesen Arduino-Sourcecode "reverse engineeren".
Warum muss ich gerade an ein Gör denken, dass den ganzen Supermarkt zusammenschreit, weil ihm die Mutter nicht die Süßigkeiten aus dem Regal mit der Quengelware kaufen will. 🤔😂
Blöderweise steht genau das im Datenblatt, in Appnotes und in
übergelagerten Dokumenten zu den Protokollen (wie z.B.
Nun, zu meinem Bedauern bin ich kein Ingenieur sondern nur Hobbypfuscher. Demnach habe ich mit Arduino Code und Arduino Bibliotheken nichts am Hut. Ja, ich versteh den Arduino Code nicht und will ich auch gar nicht, sonst hätte ich mich schon damit befasst. Ich steh mehr aufs selber machen und nicht auf das nutzen von Code den andere erstellt haben und den ich nicht verstehe.
Nun Lothar, danke für deinen Beitrag, Aber ich studiere das Datenblatt jetzt schon mehrere Tage und ich habe leider noch kein explizites Beispiel darin gefunden wie man was wo rein schreibt um einen Tag zu lesen. Stattdessen schlagen mir 61 Register ins Gesicht deren Beschreibung ihrer 488 Bits nur Fragezeichen hinterlassen. Die "reserved" Register und Bits mal ausser acht gelassen.
Warum in Assembler? Weils mir spass macht und genau das ist was ich tun möchte. ICH muss es ja programmieren.
Warum sollte sich jemand die Mühe machen, hier so ein komplexes Thema zu
erläutern, wenn es in Form von Arduino-Code schon fertig hingeschrieben
ist?
Evtl. weil es noch Leute gibt die anderen helfen möchten etwas zu verstehen. Ok, sollte es die nicht mehr geben (Du scheinst ja auch nicht dazu zu gehören) dann hatte ich halt Pech. Ein Versuch war es trotzdem Wert.
Solche aussagen sind halt nicht Hilfreich. Wenn keiner konstruktive Hilfe zu bieten hat, dann schreibt doch besser erst gar nicht anstatt Beiträge zu verfassen die keinem nützen. Vielen Dank
Also erst mal Danke für eher "keine" Hilfe.
Falls euch das "zu viel Mühe" ist, dann müsst ihr nicht Antworten. Dann stellt sich mir die Frage nach dem Sinn dieses Forums. Aber ich muss ja auch nicht alles verstehen. Auch nicht das Datenblatt des Moduls
Warum muss ich gerade an ein Gör denken, dass den ganzen Supermarkt
zusammenschreit, weil ihm die Mutter nicht die Süßigkeiten aus dem Regal
mit der Quengelware kaufen will. 🤔😂
Naja, ich habe gelernt nichts zu erwarten, daher schreie ich nicht :-)
Dann stellt sich mir die Frage nach dem Sinn dieses Forums.
Ein Forum ist nicht dafür da, Unmögliches möglich zu machen. Wenn die überzählige Quintessenz im Forum ist: "nein, das wird nichts mit dem Weg, den du gehen willst", dann musst du das akzeptieren oder das Gegenteil beweisen.
Stattdessen schlagen mir 61 Register ins Gesicht deren Beschreibung
ihrer 488 Bits nur Fragezeichen hinterlassen.
Und wie gesagt: das sind nur die paar Bits, die du brauchst, um einen Link zum Tag aufzubauen. Danach brauchst du noch die von mir verlinkte Kommunikation, um Verbindung mit dem Tag aufzunehmen. Und dann brauchst du noch den Code, um irgendwelche Ver- und Entschlüsselungen durchzuführen.
Ich steh mehr aufs selber machen und nicht auf das nutzen von Code den
andere erstellt haben und den ich nicht verstehe.
Über diese etwas egozentrierte Sichtweise bin ich raus und lerne aus dem, was andere gemacht haben. Wenn es also funktionierenden Code gibt, dann versuche ich den zu verstehen.
Ja, ich versteh den Arduino Code nicht und will ich auch gar nicht
Man kann das auch als Möglichkeit begreifen, sich mal in eine Programmiersprache einzuarbeiten, mit der solche Projekte tatsächlich machbar sind.
Aber ich muss ja auch nicht alles verstehen
Sei ehrlich zu dir: du willst das offenbar nicht verstehen.
Nun, zu meinem Bedauern bin ich kein Ingenieur sondern nur
Hobbypfuscher. Demnach habe ich mit Arduino Code und Arduino
Bibliotheken nichts am Hut.
Wie jetzt? Paßt doch für "Hobbypfuscher". Genau für die ist der Arduino-Kram gedacht.
Ja, ich versteh den Arduino Code nicht und
will ich auch gar nicht
Du willst also nicht verstehen, was da passiert? Dann bleibt nur der ganz harte Weg: Programmieren nach Datenblatt.
Ich
steh mehr aufs selber machen
Naja, dann ist das dein Weg.
Ist gewöhnlich auch mein Weg. Aber ich wäre ja blöd, wenn ich existierenden und funktionierenden Code nicht wenigstens als Leitfaden für eine eigene Implementierung verwenden würde, natürlich jederzeit unter Abgleich mit dem Datenblatt und unter Abgleich damit, was man konkret erreichen will.
ich studiere das Datenblatt
jetzt schon mehrere Tage und ich habe leider noch kein explizites
Beispiel darin gefunden
Es ist auch eher selten, dass man Codebeispiele in Datenblättern irgendwelcher Peripherie-Devices findet. Und wenn überhaupt, dann eher in C als in Assembler.
Ein Forum ist nicht dafür da, Unmögliches möglich zu machen. Wenn die
überzählige Quintessenz im Forum ist: "nein, das wird nichts mit dem
Weg, den du gehen willst", dann musst du das akzeptieren oder das
Gegenteil beweisen.
Ok, da magst Du recht haben dass ein Forum nicht dafür da ist ein Industriekomplex mit der Hand zu bauen wenn es doch Baumaschinen gibt. Aber wer sagt es wäre unmöglich?
Und wie gesagt: das sind nur die paar Bits, die du brauchst, um einen
Link zum Tag aufzubauen. Danach brauchst du noch die von mir verlinkte
Kommunikation, um Verbindung mit dem Tag aufzunehmen. Und dann brauchst
du noch den Code, um irgendwelche Ver- und Entschlüsselungen
durchzuführen.
Kann ich mit leben. Es ist nichts was nächste Woche fertig sein müsste.
Über diese etwas egozentrierte Sichtweise bin ich raus und lerne aus
dem, was andere gemacht haben. Wenn es also funktionierenden Code gibt,
dann versuche ich den zu verstehen.
Um den Arduino Code zB. verstehen zu können, müsste ich mich lange damit auseinandersetzen. Zeit, die ich nicht wirklich investieren möchte, sonst hätte ich das schon seit Jahren tun können. Wofür? damit ich es eh nie brauche oder anwende? Ist halt ne Einstellungssache, die einen mögen es, die anderen nicht. Zumal die Compiler meist eh mehr code produzieren als eigentlich nötig und ich möchte halt im detail verstehen was da passiert, auf Bitebene, im Prozessor..usw. Wie gesagt, Einstellungssache.
Man kann das auch als Möglichkeit begreifen, sich mal in eine
Programmiersprache einzuarbeiten, mit der solche Projekte tatsächlich
machbar sind.
Solche Projekt sind definitiv auch in Assembler machbar, da hab ich schon größeres gehabt. Ich finde einfach, nicht falsch verstehen, in C und dergleichen verblödet man, da die komplexen Routiunen der Interpreter umsetzt und man gar nicht mehr versteht was geht da eigentlich genau vor sich. Aber ich verstehe auch warum die meissten in C programmieren. Routinen lassen sich einfah erstellen, es geht schneller, man muss nicht mehr denken (zumindest nicht so viel) und man kann sich mit dem code anderer brüsten ;)
Sei ehrlich zu dir: du willst das offenbar nicht verstehen.
Ich will verstehen wie die Vorgehensweise ist. Wo muss man was hinschreiben, konfigurieren, welche Register sind relevant, ( man braucht ja sicherlich nicht alle 61 Register) die Paar, mit denen ich eine Kommunikation mit dem Tag herstellen und ihn auslesen kann reichen ja schon. Das können ja nur ein paar Register sein die man wirklich braucht, WENN man weiss was wo rein muss. Mehr möchte ich ja gar nicht wissen. VERSTEHEN, tu ich es dann wenn ich an die Umsetzung gehe ;)
Wie jetzt? Paßt doch für "Hobbypfuscher". Genau für die ist der
Arduino-Kram gedacht.
Genau da liegt das Problem :-)
Es kann sich jeder der null Ahnung hat irgendwelchen Code im Netz zusammen suchen und damit was halbwegs brauchbares hintüteln.
Ich als Hobbypfuscher gehöre halt noch zu der Gattung die verstehen möchte was man da tut.
Es ist auch eher selten, dass man Codebeispiele in Datenblättern
irgendwelcher Peripherie-Devices findet. Und wenn überhaupt, dann eher
in C als in Assembler.
Eben, In C findet man Massig Code dazu.
Naja, Egal, schön mal drüber gesprochen zu haben, Macht euch keine Mühe, ich krieg das auch ohne Hilfe hin. Dauert halt nur länger. Da das Hobby ist, hats demnach auch keine Eile.
Wäre doch aber bestimmt als Artikel fürs Forum hier interessant ;-)
Um den Arduino Code zB. verstehen zu können, müsste ich mich lange damit
auseinandersetzen. Zeit, die ich nicht wirklich investieren möchte,
sonst hätte ich das schon seit Jahren tun können. Wofür? damit ich es eh
nie brauche oder anwende?
Es hätte Dir hier dabei helfen können, zu verstehen, wie Dein RC522 anzusteuern ist.
Denn letztlich hast Du ein "Meta-Problem".
Du musst herausfinden, wie Du auf Deinem µC in Assembler mit I2C-Peripherie kommunzieren kannst, und Du musst auf einer komplett anderen Ebene herausfinden, wie mit dem RC522 zu kommunizieren ist.
Und diese Ebene hat jetzt überhaupt nichts mehr mit einer Programmiersprache zu tun, ob das mit Assembler, C, kleinen gelben Bällchen oder was auch immer geschieht, ist völlig wurscht.
Das Konzept ist immer das gleiche: Daten werden an ein I2C-Gerät gesendet oder von diesem empfangen.
Wenn Du Dich ein kleines bisschen aus Deiner Komfortzone herausbewegen würdest, könntest Du erkennen, daß man den Arduino-Code /lesen/ kann und daß man dort sehr klar und deutlich erkennen kann, wann mit einem I2C-Gerät geredet wird, und was in welcher Reihenfolge in welches der Register Deines RC522 geschrieben wird.
Die Transferleistung, diese Information zu extrahieren und in Dein Assemblerprogramm zu übertragen, die sollte nicht zu schwer sein. Da Du ein Datenblatt hast, kannst Du sogar versuchen, die Details nachzuvollziehen und zu verstehen.
Zumal die Compiler meist eh mehr code produzieren
als eigentlich nötig
Das ist eine gerne von Assemblerfreunden genannte Form ziemlicher Selbstüberschätzung.
und ich möchte halt im detail verstehen was da
passiert, auf Bitebene, im Prozessor..usw.
Dagegen spricht ja auch nichts. Sollst Du ruhig machen, Grundlagenwissen ist immer gut.
Offenbar bist du dir nicht bewusst, dass z.B. Arduino mit seinem C++ eine der mächtigsten, wenn nicht sogar DIE mächtigste und komplexeste Sprache verwendet.
// TPrescaler_Hi are the four low bits in TModeReg. TPrescaler_Lo is TPrescalerReg.
9
PCD_WriteRegister(TModeReg,0x80);// TAuto=1; timer starts automatically at the end of the transmission in all communication modes at all speeds
10
PCD_WriteRegister(TPrescalerReg,0xA9);// TPreScaler = TModeReg[3..0]:TPrescalerReg, ie 0x0A9 = 169 => f_timer=40kHz, ie a timer period of 25μs.
11
PCD_WriteRegister(TReloadRegH,0x03);// Reload timer with 0x3E8 = 1000, ie 25ms before timeout.
12
PCD_WriteRegister(TReloadRegL,0xE8);
13
14
PCD_WriteRegister(TxASKReg,0x40);// Default 0x00. Force a 100 % ASK modulation independent of the ModGsPReg register setting
15
PCD_WriteRegister(ModeReg,0x3D);// Default 0x3F. Set the preset value for the CRC coprocessor for the CalcCRC command to 0x6363 (ISO 14443-3 part 6.2.4)
Ja, wirklich extrem schwer lesbar. In Assembler wäre es sicherlich viel besser. Die knapp 2000 Zeilen C++ Code in der Bibliothek sind auch total unübersichtlich, 10000 Zeilen Assembler wären viel schöner
Die Arduinos haben ja alle mindestens 32 KiB flash, es könnte da bei deinem ATmega16 sogar knapp werden mit dem Flash.
Ist das diese sogenannte kognitive Dissonanz? Verblödet man durch Hochsprachen so sehr dass man dann die Hochsprachen nicht mehr versteht? Bleibt man nur intelligent indem man Hochsprachen nicht versteht? Kann man also nur intelligent genug sein für Hochsprachen indem man Hochsprachen nicht versteht? Sind Hochsprachen so eine Art Mental-Virus?
Ich finde einfach, nicht falsch verstehen, in C und dergleichen
verblödet man, da die komplexen Routiunen der Interpreter umsetzt und
man gar nicht mehr versteht was geht da eigentlich genau vor sich.
Was soll man daran nicht falsch verstehen?
Du sagst da, dass alle Programmierer, ausser der Handvoll, die weltweit noch größere Programme in Assembler programmieren, grade kollektiv verblöden, weil sie nicht mehr verstehen, was der Compiler aus ihrem Code macht.
Das ist das selbe, wie wenn du behauptest, dass jeder Autofahrer verblödet, wenn er nicht genau weiß, was beim Verbrennungsvorgang zwischen Zylinderkopf und Zylinder abläuft.
Der Witz ist aber ein ganz anderer: weil sich diese Programmierer bzw. Autofahrer nicht mehr um bereits gelöste Nebensächlichkeiten kümmern müssen, können sie sich auf die wesentlichen Aufgaben kümmern (z.B. einen Steuerungsablauf programmieren oder pünktlich und unfallfrei von A nach B fahren).
Und noch viel besser: der auf einem Benziner angelernte Autofahrer kann sogar sein Fahrzeug wechseln und kommt nach kurzer Zeit auch mit einem Diesel oder gar einem E-Auto klar. Völlig ohne Wissen, welche Verbrennungs- oder sonstige Vorgänge da zum Antrieb nötig sind.
Und der auf einer Hochsprache angelernte Programmierer kann seinen Prozessor problemlos wechseln, auch wenn der auf einmal eine komplett andere Architektur hat.
Zumal die Compiler meist eh mehr code produzieren als eigentlich nötig
Zumeist reicht es aber in der Praxis aus, wenn das Programm in den Speicher passt(!) und der zugehörige Prozessor diesen Code schnell genug(!) ausführt.
Du bekommst keine 50 Cent zurück, wenn du jedesmal 10kByte der gekauften 32kByte nicht nutzt und du wirst nicht gelobt, wenn du 20µs früher auf den nächsten Tastendruck des Anwenders wartest.
Offenbar bist du dir nicht bewusst, dass z.B. Arduino mit seinem C++
eine der mächtigsten, wenn nicht sogar DIE mächtigste und komplexeste
Sprache verwendet.
Ja, überaus mächtig. Und genau deswegen inzwischen auch fast unbrauchbar...
Selbst das ursprüngliche C++ war schon ziemlich komplex, aber immerhin noch halbwegs verständlich (auch wenn es viel Schmutz aus C übernommen hat).
Was aber heute daraus geworden ist, ist vollkommen indiskutabel. Ein vollkommen ausgeuferte Komplexität der Syntax und das unter notorischer Beibehaltung fast aller von C importierten Schwächen.
Man braucht sehr viel mehr Zeit, die Sprache umfassend beherrschen zu lernen, als man braucht, das zu programmierende Target auf Asm-Ebene umfassend zu beherrschen.
Sowas nenne ich eine vollkommen kontraproduktive Hochsprache.
Man braucht sehr viel mehr Zeit, die Sprache umfassend beherrschen zu
lernen, als man braucht, das zu programmierende Target auf Asm-Ebene
umfassend zu beherrschen.
Sowas nenne ich eine vollkommen kontraproduktive Hochsprache.
Alleine die Portabilität.
Vom µC bis zum Mainframe.
Das macht ASM, bis auf ein paar Anwendungen, recht useless.
Dein Text ist genau so Schwachsinnig wie dieser, auf den sich mein Posting bezog:
Andreas D. schrieb im Beitrag #7756602:
Solche Projekt sind definitiv auch in Assembler machbar, da hab ich
schon größeres gehabt. Ich finde einfach, nicht falsch verstehen, in C
und dergleichen verblödet man, da die komplexen Routiunen der
Interpreter umsetzt und man gar nicht mehr versteht was geht da
eigentlich genau vor sich. Aber ich verstehe auch warum die meissten in
C programmieren. Routinen lassen sich einfah erstellen, es geht
schneller, man muss nicht mehr denken (zumindest nicht so viel) und man
kann sich mit dem code anderer brüsten ;)
Was soll man daran nicht falsch verstehen?
Du sagst da, dass alle Programmierer, ausser der Handvoll, die weltweit
noch größere Programme in Assembler programmieren, grade kollektiv
verblöden, weil sie nicht mehr verstehen, was der Compiler aus ihrem
Code macht.
Tja, was soll man dazu sagen...? Man versteht sowas halt immer wie man es verstehen möchte. Un Dein Beispiel:
Das ist das selbe, wie wenn du behauptest, dass jeder Autofahrer
verblödet, wenn er nicht genau weiß, was beim Verbrennungsvorgang
zwischen Zylinderkopf und Zylinder abläuft.
Der Witz ist aber ein ganz anderer: weil sich diese Programmierer bzw.
Autofahrer nicht mehr um bereits gelöste Nebensächlichkeiten kümmern
müssen, können sie sich auf die wesentlichen Aufgaben kümmern
hinkt.
Der Entwickler eines Motors muss definitiv wissen, was beim Verbrennungsvorgang zwischen Zylinderkopf und Zylinder abläuft. Sonst entwickelt er Motoren die letztendlich nicht laufen.
Der Autofahrer, da haste Recht, der muss das nicht wissen, der entwickelt auch nichts.
Jeder der Arduino Code und Bibliotheken anderer verwendet etwickelt im eigentlichen Sinne auch nichts, er fummelt nur Code zusammen den ein anderer erstellt hat. Der Autofahrer fährt nur das Auto das ein anderer entwickelt hat.
Ich hingegen entwickele Funktionen und Programme von Grund auf, darum bin ich der Entwickler und nicht der Autofahrer und somit muss ich sehr wohl wissen was ich da treibe.
Spielt auch keine Rolle, kann jeder sehen wie er will und kann auch jeder verstehen wie er will und ebenso soll jeder programmieren wie er will. Ich progrmmiere in Assembler weil es mir gefällt und weil ich es kann.
Offenbar bist du dir nicht bewusst, dass z.B. Arduino mit seinem C++
eine der mächtigsten, wenn nicht sogar DIE mächtigste und komplexeste
Sprache verwendet.
Dein ASM ist dagegen Kindergarten.
Andreas D. schrieb:
Und genau dazu brauch eben mal Hilfe diesen
Wirrwarr der Register zu verstehn.
Zu beschränkt um Datenblätter zu lesen
Zu beschränkt um C++ Programme zu lesen
Aber alle C und C++ User für blöd erklären.
Wer hier beschränkt ist, sei mal dahin gestellt. Mit solchen dummen Aussagen reißt du hier keine Türen ein. Klar, wenn man schon Arduino heißt weiß man schon woher der Wind weht. Du bist Im Arduino Himmel vermultlich der Oberprolet und machst all die runter die nicht in deiner Liga spielen. Und von Assembler hast Du offenbar auch null Ahnung sonst würdest Du so geschwollen nicht daher reden. Das ist nämlich mindestens genau so Dumm wie du andere hin stellst. Bleib einfach bei deiner mächtigen Verblödungssprache und lass andere in Ruhe mit deinen dämlichen Kommentaren. Und ich bleibe dabei, Hochsprachen verblöden. So steht man dann vorm Auto, das nicht mehr läuft und hat null Ahnung was tun. Sehr Intelligent. Daumen Hoch
Das ist so ein Kindergarten hier, das kann man gar nicht mehr in Worte fassen
Man kommt hierher um nach Hilfe zu Fragen wenn man mal ein Problem hat und was erntet man? Nichts ausser Bullshit. Manche scheinen irgendwas kompensieren zu müssen. Ich kann nur Ahnen was das sein könnte.
Ja, Ihr seid alle die Grössten, Schlauesten und Fehlerfreiesten, euch kann keiner das wasser reichen. hab ich gemerkt. Alle anderen sind dumm wenn sie nicht alles so tun wie ihr es tut. Ihr seid echte Helden !
Spart euch eine Antwort hierrauf, ich werd sie eh nicht mehr lesen. Dieses Forum hat mich gesehen. Gibt andere Foren und Seiten, da ist man Hilfsbereiter, netter und vor allem Geduldiger.
Jeder der Arduino Code und Bibliotheken anderer verwendet etwickelt im
eigentlichen Sinne auch nichts, er fummelt nur Code zusammen den ein
anderer erstellt hat.
Jeder Assembler Programmierer stückelt nur Mnemonics oder Binärcode für einen Hardwarebefehlsdecoder/Recheneinheit in einem Stück Silizium zusammen, das andere designt haben.
Der Entwickler eines Motors muss definitiv wissen, was beim
Verbrennungsvorgang zwischen Zylinderkopf und Zylinder abläuft. Sonst
entwickelt er Motoren die letztendlich nicht laufen.
Der Entwickler des Prozessors muss wissen, wie er den Prozessor bauen muss, dass der seine Funktion erfüllt. Und er denkt sich für die Maschinenbefehle Mnemonics aus, die bereits fertige und von Menschen leicht lesbare "Hochsprachenbefehle" sind. Und der Entwickler des Assemblertools denkt sich dann noch Makros aus, wo 1 Assmeblerbefehl in mehrere Mnemonics übersetzt wird. Und er vereinfacht dem Programmierer die Arbeit, indem er z.B. automatisch den richtigen bzw. kürzeren Sprungbefehl anhand eines Labels ausrechnet.
Der Autofahrer, da haste Recht, der muss das nicht wissen, der
entwickelt auch nichts.
Jeder der Arduino Code und Bibliotheken anderer verwendet etwickelt im
eigentlichen Sinne auch nichts
Ein Assemblerprogrammierer entwickelt auch nichts, sondern er ist nur der Programmierer und programmiert nur den bereits mitsamt seinen Funktionen fertig entwickelten Prozessor. Und er verwendet mit den Assembler-Mnemonics und dem Assembler als "Übersetzer" die elementarste Hochsprache, die so ein Prozessor versteht.
Der Autofahrer fährt nur das Auto das ein anderer entwickelt hat.
Ich hingegen entwickele Funktionen und Programme von Grund auf
Du bist auch als Assemblerprogrammierer nur ein Programmierer und programmierst auch nichts, was nicht schon jemand anders schon lange in C programmiert hat. Oder meinst du, der C-Code für den Baustein ist vom Himmel gefallen?
Und ich bleibe dabei, Hochsprachen verblöden.
Warum programmierst du den eigentlich nicht gleich in Maschinencode?
Das ist so ein Kindergarten hier
Ja, genau so kommt mir das auch vor: da sitzt wer mit verschränkten Armen mitten in seiner Kindergartengruppe auf dem Boden und grummelt herum "Ich will das aber unbedingt!" und "Alle anderen sind blöde!"
BTW:
Ich verwende C und C++ und Python, weil ich (einige) Prozessoren samt ihrem Assembler kenne. Und es reicht mir aus, wenn ich mir bei fraglichen Fällen den erzeugten Assemblercode ansehen und auf Tauglichkeit oder Probleme bewerten kann.