- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 10

Thema: I2C - USBAdapter in C verwenden

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    11.12.2013
    Beiträge
    12

    I2C - USBAdapter in C verwenden

    Anzeige

    Powerstation Test
    Hallo!
    Ich habe mir einen I2C-USBAdapter bestellt (http://www.elv.de/output/controller....&detail2=24012), allerdings benutzen die in einem Beispiel dort ein Terminalprogramm (HTerm). Ich möchte die Nutzdaten aber in einem C-Programm verarbeiten.
    Nun steh ich grad auf dem Schlauch wie ich am besten an dies Problem ran gehe.

    Hat einer von euch eine Idee oder besser noch einen Link mit Erklärung wie man dies realisieren kann?
    Gibt es dafür eventuell schon (Windows) Bibliotheken?
    Ich kann mir nicht vorstellen das ich der einzige bin der in einem C-Programm Sensordaten verarbeiten will xD


    Vielen Dank!!
    Smazze

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.08.2009
    Ort
    Berlin
    Alter
    69
    Beiträge
    348
    Hallo
    habe mit das Teil auch geholt. Kenne es nur mit einem Terminalprg. Bei dieser Art der Programmierung verliert man sehr schnell die Lust am Bus. Es gibt entprechende Programme und Beispiele die dir genau zeigen wie der Bus in C geht.
    achim

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    11.12.2013
    Beiträge
    12
    @Achim
    Wäre nett wenn du die Links posten könntest.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.08.2009
    Ort
    Berlin
    Alter
    69
    Beiträge
    348
    Suche mal auf RN-Wissen, C-Programmierung oder in roboterhardware.de. Da sind viele Beispiele mit Tut drin, besonders für das RN-C 1.4, über AVR Studio6, Hardware, Zusätzliche Teile und Platinen. Wenn du nichts findest, kann ich was cicken
    achim

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    ... einen I2C-USBAdapter bestellt ... benutzen die ... (HTerm). Ich möchte die Nutzdaten aber in einem C-Programm verarbeiten. Nun steh ich grad auf dem Schlauch wie ich am besten an dies Problem ran gehe...
    Die Frage ist ja was ist Dein Problem, also was möchtest Du machen?

    a) Nutzdaten in einem C Programm verarbeiten?

    Was meinst Du mit Nutzdaten? Woher kommen die, von den erwähnten Sensoren?? Wie sehen die aus? Ich weiß, dass in den Datenblättern von Sensoren oft Hinweise zum Abholen der Werte stehen - da hättest Du schon ne perfekte Hilfe.

    b) C-Programme laufen auf üblichen Computern (PC), Mainframes, embedded Winzlingen . . . wo läuft Dein C-Programm?

    ... Link mit Erklärung wie man dies realisieren kann ... eventuell schon (Windows) Bibliotheken ...
    Also doch PC? Dann wirst Du das USB-Protokoll des ELV-Winzlings aufschlüsseln müssen - vermutlich so ein Terminalprogramm nachbauen.

    ... das ich der einzige bin der in einem C-Programm Sensordaten verarbeiten will ...
    Sicher nicht. Vielleicht ist es nur meine Unbedarftheit, aber ich weiß wirklich nicht, was Du machen willst.

    I2C aus einem Sensor auslesen und darstellen habe ich z.B. (in C, OHNE ELV-Kästchen) so gemacht (klick) - und im verlinkten Thread gibts auch Softwarebeispiel(e) in C dazu.
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo Smazze,

    Das USB-Teil wird über den Treiber am PC eine normale serielle Schnittstelle simulieren.

    Also kannst du das Teil auch wie ein UART ansprechen, also über das normale API des Betriebssystems.
    Das Terminalprogramm macht da auch nichts anderes.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  7. #7
    Erfahrener Benutzer Begeisterter Techniker Avatar von Andre_S
    Registriert seit
    26.06.2005
    Beiträge
    357
    Hallo Smazze,

    wie hier schon geschrieben wurde, fehlen uns Informationen über Dein Vorhaben um effektiv helfen zu können. (Deine Entwicklungsumgebung (+BS) welche Du verwendest, Deine eventuell angeschlossenen Sensoren/Geräte und natürlich wo es aktuell hängt)

    Ich möchte jetzt auch nicht alles wiederholen was hier geschrieben wurde, mir ist nur aufgefallen, dass in Deinem Link zu ELV sogar entsprechende Beispiele für Microsoft Visual Studio vorhanden sind, an denen Du Dich orientieren könntest.

    Gruß André

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    11.12.2013
    Beiträge
    12
    Vielen Dank erstmal für die Antworten!!

    Ich möchte (erstmal) einen Ultraschallsensor (http://www.roboter-teile.de/datasheets/srf08.pdf) über I2C an den I2C-USB-Adapter an meinen WindowsPC klemmen.
    Anschließend möchte ich Distanzwerte in einem C-Programm (Visual Studio) verarbeiten..

    Nun steht in dem Handbuch des I2C-USB-Adapters:
    4.1.1. „S“ – Start-Bedingung
    Beispiele:
    Schreibe das Daten-Byte 0xFF in das Gerät mit der Geräte-Adresse 1000 000X (binär).
    Bildung der Adresse: 0100 000X + Schreib-Bit (0) = 0100 0000 (binär) = 40 (hexadezimal)

    [Start] [Write-Adr:0x40] [Daten:0xFF] [Stopp]
    S 40 FF P

    Nun ist mein Problem das ich dies nun in C machen möchte (muss) xD

    Ich kann ja nicht in mein C Programm einfach diese Zeilen übernehmen

    @Andre_S:
    Zu Microsoft Visual Studio Beispielen seh ich in dem Handbuch nichts?? Welche Seiten meinst du??

  9. #9
    Erfahrener Benutzer Begeisterter Techniker Avatar von Andre_S
    Registriert seit
    26.06.2005
    Beiträge
    357
    Hallo!


    Mal nur ganz grob und auf die schnelle…

    Im einfachsten Fall aus der Toolbox der Entwicklungsumgebung einen seriell Port hinzufügen, 8N1 etc. konfigurieren, Port(nachschauen bzw. auswählbar machen) und Baudrate (müsste? 115200 sein) einstellen. (siehe Anleitung vom Adapter)

    Beim SRF08 kannst Du nun noch das Verstärkungs- und Reichweitenregister nach deinen Vorstellungen setzen. Ist also abhängig von den Anforderungen, ich benötige max. 3m setze also bei mir (siehe Datenblatt SRF08 )

    Info: SRF08 Adresse in dem Falle “E0”.
    Einstellung:
    seriellPort1.Write ("SE0 01 06 P"); // Verstärkung
    seriellPort1.Write ("SE0 02 45 P"); // Entfernung

    Messung:
    seriellPort1.Write("SE0 00 51 P L0015 SE0 01 SE1 03 P"); // Abfrage Sonar

    und nun musst Du mal schauen was Du beim Ereignis „DataReceived“ oder anderweitiger zyklischer Abfrage (Anzahl: seriellPort1.BytesToRead) erhältst. Die Daten aus dem Buffer holen und anschließend entsprechend verarbeiten.

    Beispielanbindung des I2C Adapters steht unter deinem Link (ELV) als ZIP Datei „USB/I2C Demosoftware“


    Gruß André

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    11.12.2013
    Beiträge
    12
    Danke André.. glaub so langsam kommt Licht ins Dunkle

    Das Beispiel ist für ein CSharp Programm, aber ich denke das ich mir da das eine oder andere für mein C Programm abgucken kann xD

Ähnliche Themen

  1. if befehl verwenden!
    Von DanyD im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 28.02.2010, 19:16
  2. Sensoren verwenden
    Von sp33dy im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 07.11.2009, 15:38
  3. Timer1 verwenden
    Von Gerko im Forum Robby RP6
    Antworten: 19
    Letzter Beitrag: 11.02.2009, 21:27
  4. Mausteile verwenden
    Von gandalfsz im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 20.01.2006, 13:24
  5. Welches Kabel für TWI (I2C) verwenden? Hilfe bei TWI Routine
    Von Sauginius im Forum AVR Hardwarethemen
    Antworten: 23
    Letzter Beitrag: 26.07.2004, 13:33

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad