Software > Coding
I2C-Bus-Steuerung mit GfA-Basic?
Latz:
Hi,
...und ich grabe den Thread nochmal aus.
Ein paar konkrete Fragen:
- Hat mittlerweile jemand i2c mit GFA Basic (am Parallel-Port) realisiert?
- Wenn nicht, kann mir jemand bei der "Übersetzung" von C in Basic helfen?
Es geht "nur" um die Routinen in der Datei "i2cfast.c" aus T.Harbaums
Sourcen; als GFA-Anfänger brauche ich aber ein wenig Unterstützung.
Mein Ziel ist die Ansteuerung und Auswertung von "einfachen" Sensoren/i2c Chips
am Falcon, z.B. Temperatur, Druck, 4-fach analog->i2c (PCF8574) bis hin zum
IR-Entfernungsdetektor mit SI1143.
All die Sensoren senden/empfangen nur wenige Bytes, max. 10 Byte wenn man
den SI1143 zur "Wischgesten-Erkennung" (à la Minority Report) einsetzt;
Geschwindigkeit dürfte also kein Problem sein. Die "Sensoren" habe ich mir
bereits für den Lego NXT gebaut, auch die Auswertung der Daten sind dann
kein Problem wenn die i2c-Kommunikation läuft.
Wer kann mir dabei helfen? "Umwege" (z.B. über Arduino) möchte ich nicht
gehen, auch andere Programmiersprachen fallen mangels Kenntnis aus.
Einzig noch die Frage ob die serielle Schnittstelle (MODEM2) einfacher
wäre...mit HSMODEM (TOS) oder SCC.XDD (MiNT) gehen ja 115200...?
Gruß,
Latz
Latz:
Oje, vielleicht hätte ich meine Frage doch als skurriles EBay-Angebot
kaschieren sollen, da sind die Reaktionen immer sehr schnell... ;) :P
Ist die Anfrage zu dumm oder (mal wieder) zu speziell?
Zur Not würde mir auch eine detailierte Beschreibung der C-Aufrufe in
i2cfast.c genügen (was passiert genau, besonders bei den "Register-Befehlen"
cgwrite...).
Irgendjemand?
Latz
czietz:
Wir müssen unterschiedliche Versionen von i2cfast.c haben. Irgendwas, was "cgwrite" heißt, kommt in meiner Datei nicht vor: http://harbaum.org/till/atari/videotxt/videotxt.zip. Eigentlich ist das eine super-simple Bitbanging-Implementierung von I2C. Wenn Du das I2C-Protokoll verstehst (Du sagst ja, Du hast schon vorher damit gebastelt), ist eigentlich sofort klar, was passiert. Letztlich werden SDA und SCL entsprechend dem Protokoll "low" und "high" gesetzt und SDA wird natürlich auch gelesen.
Zu klären wäre, wie der Anschluss bei Dir aussieht: hast Du wirklich Tills Schaltung dazwischen, die einen Drucker "entkoppelt"? Oder nur den simplen Aufbau mit 2 Dioden? In letzterem Fall kannst Du Dir alle Teile mit if(prt_adap) wegdenken.
Latz:
Sorry, in meiner "Verzweiflung" habe ich es falsch geschrieben.
Wie Till das eigentliche i2c Protokoll realisiert hat ist mir klar, ich habe nur Probleme den Parallelport
anzusteuern, sprich im Verständnis (der Umsetzung) der #DEFINE Zeilen giwrite..., giselect...
usw.
Die "einfache Lösung" mit nur zwei Dioden habe ich gar nicht gesehen...ohne Bustreiber (74xx244)?
...und klar, "IF !prt_adapt" versteht auch ein GFA-Anfänger ;D
Danke schonmal für die Antwort,
Latz
Thorsten Otto:
Vlt ne dumme Frage, aber wenn du die Routinen schon in C hast, und dich mit GFA nicht gut auskennst, warum willst du es dann unbedingt in GFA realisieren? ;)
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln