-
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Frank!
Ich brache für ein I2C-Treiber in maschinensprache 58 Byte.
Dur das entfernen sind aber nur 16 Byte frei.
Ich habe mir jetzt die Muhe gamacht , und den Treiber p5driv.s19 disassembliert, per Hand .
Es sieht bis jetzt noch nicht gut aus , aber schaun wir mal!
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Frank,
in der Beschreibung der C-Control steht, daß 256 Byte für eigene Assemblerprogrammierung zur Verfügung stehen, der Treiber rp5driv12.s19 hat aber schon 252 Byte...
Entweder man disassembliert diesen Treiber, oder besser bekommt den Originalen, und wirft das raus, wovon man überzeugt ist es nicht zu brauchen, und ergänzt das was man braucht, aber viel Platz wird dann trotzdem nicht frei., oder man gibt es einfach auf.
Gruß
Torsten
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Positive Nachricht!
Um ein I2C Treiber im Treiber von p5driv.s19 benötigt man 51 Byte !
Wenn man auf ROTR,ROTL,REV,FWD( sind so wieso nur Sprungbefehle) ,ACS_LO,ACS_HI,SEND_SPEEDR,SEND_SPEEDL,
und SEND_SYSSTAT verzichtet, hat man 54 Byte frei.
-
Erfahrener Benutzer
Roboter-Spezialist
Woher hast Du diese Info? Hast Du den originalen Code bekommen, oder das Ding Disassembliert? Wenn ich auf das Datum schaue, wann dieser Treiber entstanden ist, dann ist er entstanden, bevor die veröffentlichten Schaltpläne enstanden sind, vielleicht sind dort noch Schätze vergraben, von denen man nichts ahnt.
Gruß
Torsten
EDIT:
Habe Deinen anderen Beitrag erst danach gelesen, also keine Schätze...
Gruß
Torsten
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Torsten !
Ich habe meinen Sonntag geopfert, und den Treiber per Hand disassembliert.( Mit Code-Tabelle und Anleitung , wie .S19 aufgebaut ist)
Das war gar nicht so einfach, aber das schult das Gehirn.
Denn ich hab mich mit maschinensprache das letzte mal vor 3 Jahren beschäftigt.
-
Administrator
Robotik Visionär
Hallo Ihr,
das ist alles ein bisschen sehr knapp! Der I2C Treiber den ich benutze hat 96 Byte, wobei der schon viele Betriebsystem Routinen nutzt. Er verwendet den internen I2C Bus, braucht somit keine Zusatzports!
Und ob man mit dem alles ansteuern kann, das ist auch die Frage. Manche Bausteine sollen ja etwas unterschiedliche Ansteuerungen erfordern.
Ich frag mich nur was Du da alles raus wirfst - ob das dann alles noch klappt
-
Erfahrener Benutzer
Roboter-Spezialist
So nun zum Projekt!
Wozu braucht man einen PCF8574?
Es ist ein IC der 8 I/O- Ports hat .
Rrobby wird komplett umgebaut.
Was vorher hinten war , wird vorne.
Wenn Ihr wisst was ich meine.
Robby soll hinten 2 SHARP Sensoren bekommen.
Analoge.
Da werdet Ihr Fragen wozu braucht man digitale Ports, wo doch der SHARP- Sensor analog ist .
Die Sensoren werden auch analog abgefragt, aber über den PCF werde ich die möglichkeit bekommen, die Sensoren umzuschalten u.s.w
-
Administrator
Robotik Visionär
Es gibt auch I2C Bausteine die analoge Ports haben! Das wäre einfacher, da kannst du 8 analoge Sharp dran hängen.
Ich hab nochmal in das ASM File im DOwnload Bereich geschaut! Das nutzt schon internen I2C Bus. Du hast dich beim Port verguckt - das ist der interne Port A!
Gruß Frank
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Frank !
Ich hab mich verkuckt, Du hast recht es ist PA0 und PA1 am interne I2C.
Das Programm was ich gefunden habe ist nur 51 Byte lang.
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Frank!
Du schreibst:
Ich frag mich nur was Du da alles raus wirfst - ob das dann alles noch klappt
Und wie es klappen wird, den die ganzen ersten Befehle sind nur Bitsetzbefehle, mit zusätzlichem setzen von Flags , die überhauptnicht ausgenutzt werden.
Ich bin schon sehr nahe dran , und dann gibt es einen neuen Treiber für I2C.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen