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.
Andreas D. schrieb: > 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?
Andreas D. schrieb: > 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". Das dort ist auch interessant: - https://community.nxp.com/t5/NFC/RC522-Application-Note/m-p/963985 "Please take into account that this part is not recommended for new design. for new designs we recommend MFRC630." - https://www.nxp.com/products/rfid-nfc/nfc-hf/nfc-readers/standard-performance-mifare-and-ntag-frontend:MFRC52202HN1 "Not recommended for new designs."
:
Bearbeitet durch Moderator
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. 🤔😂
Niklas G. schrieb: > In der Arduino-Bibliothek steht das doch schon drin. Wenn du den > Arduino-Code nicht verstehst, lass ihn dir von ChatGPT erklären. Lothar M. schrieb: > 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
Mario M. schrieb: > 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 :-)
Andreas D. schrieb: > Ja, ich versteh den Arduino Code nicht und > will ich auch gar nicht Kompiliere ihn doch nach Assembler, dann verstehst du ihn und hast ein fertiges Beispiel.
Andreas D. schrieb: > 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. Niklas G. schrieb: > Kompiliere ihn doch nach Assembler, dann verstehst du ihn "Lesen können" ist nicht das selbe wie "verstanden haben".
:
Bearbeitet durch Moderator
Andreas D. schrieb: > 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.
Lothar M. schrieb: > 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? Lothar M. schrieb: > 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. Lothar M. schrieb: > Ü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. Lothar M. schrieb: > 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 ;) Lothar M. schrieb: > 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 ;) Ob S. schrieb: > 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. Ob S. schrieb: > Du willst also nicht verstehen, was da passiert? Dann bleibt nur der > ganz harte Weg: Programmieren nach Datenblatt. Genau das möchte ich ja. Und genau dazu brauch eben mal Hilfe diesen Wirrwarr der Register zu verstehn. (Was bedeutet was, Was bewirkt was) Ob S. schrieb: > 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 ;-)
:
Bearbeitet durch User
Andreas D. schrieb: > 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.
Andreas D. schrieb: > in C und dergleichen verblödet man, Wow! Das ist ja mal eine Ansage.... 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. Wow!
https://github.com/miguelbalboa/rfid/blob/master/src/MFRC522.cpp#L226 Da ist der Arduino-Code für die Ansteuerung:
1 | PCD_WriteRegister(TxModeReg, 0x00); |
2 | PCD_WriteRegister(RxModeReg, 0x00); |
3 | // Reset ModWidthReg
|
4 | PCD_WriteRegister(ModWidthReg, 0x26); |
5 | |
6 | // When communicating with a PICC we need a timeout if something goes wrong.
|
7 | // f_timer = 13.56 MHz / (2*TPreScaler+1) where TPreScaler = [TPrescaler_Hi:TPrescaler_Lo].
|
8 | // 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. Andreas D. schrieb: > in C > und dergleichen verblödet man Andreas D. schrieb: > Ja, ich versteh den Arduino Code nicht 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?
:
Bearbeitet durch User
Niklas G. schrieb: > Ist das diese sogenannte kognitive Dissonanz? Hmmm.... Ein vorsichtiges: Ja! Ich nenne es lieber "Ein Sprung in der Projektion."
Andreas D. schrieb: > 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. Andreas D. schrieb: > 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. > ich krieg das auch ohne Hilfe hin. Viel Erfolg.
:
Bearbeitet durch Moderator
Arduino F. schrieb: > 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.
Ob S. schrieb: > 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: > 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 ;)
Lothar M. schrieb: > 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: Lothar M. schrieb: > 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. Arduino F. schrieb: > 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. Unglaublich diese Arroganz hier! Und bitte, löscht meine Registrierung hier!
Andreas D. schrieb: > Klar, wenn man schon Arduino > heißt weiß man schon woher der Wind weht. Ja, macht ganz schön Eindruck, so ein Name, oder? > Kleider machen Leute Andreas D. schrieb: > Und von Assembler hast Du offenbar auch null Ahnung Wenn du meinst... dann wird das wohl stimmen. Andreas D. schrieb: > Und ich bleibe dabei, Hochsprachen verblöden. Das stufe ich mal als Projektion ein. Dann würde das bedeuten, dass nämlich genau du zu blöde bist um C++ zu begreifen.
Andreas D. schrieb: > 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.
Andreas D. schrieb: > 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!" Andreas D. schrieb: > Und bitte, löscht meine Registrierung hier! Mach das bitte selber. Es ist nicht so schwer. > Assembler ... weil ich es kann. Ja, wie gesagt: viel Erfolg. 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.
:
Bearbeitet durch Moderator
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.