- SF800 Solar Speicher Tutorial         
Ergebnis 11 bis 15 von 15

Thema: Input beim MCP23017

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #15
    HaWe
    Gast
    @modtronic:
    zum Einen darfst du nicht vergessen: i2c-Funktionen sind keine Funktionen der Sprache C oder C++, das gibt es dort nicht. Deshalb gibt es keinen Standard dafür.
    Es sind mehr oder weniger komplexe Implementierungen in Form von verschiedensten API libs, die die Basis-Funktionen (reine file Operationen) mit Wrappern "angenehmer" machen.
    Aber auch File-I/O ist eigentlich kein C-Standard, sondern wieder in optionalen Libs definiert, wie zB. stdio.h .
    Gerade AVRs haben aber gar nicht das "übliche" stdio.h, sondern was ganz anderes, z.B. lib.c und ähnliches, was es aber für GCC C auf Linux nicht in dieser Form gibt.
    Also ist dein Problem kein C Problem, sondern ein ganz spezielles AVR-Library-Problem; wie es mit GCC samt Linux Libs geht, habe ich ja oben erklärt, da sind die Libs halt einfach besser verständlich oder praktischer anwendbar.
    Noch einfacher als Basis-File-I/O gehen komplexere Libs wie wiringPi, die dort ebenfalls gern verwendet werden.
    Aber auch für AVRs gibt es so etwas für C/C++, z.B. von Arduino, deswegen wird Arduino so gern genommen (hier ist es die Wire-Class).
    Nützt dir ntl nichts, wenn es so etwas für deine Plattform nicht gibt, dann musst du es selber bauen.

    Oder zu Arduino überwechseln.

    Zu deinem Problem:
    Bevor du an 2 Fronten mit 2 MCPs kämpfst, musst du erstmal jeden einzeln beherrschen.
    Es klingt ja, als ob du den 1. schon mal auslesen kannst.
    Jetzt versuche deinen 2. MCP mit anderer Adresse von einem extra Programm aus einzeln anzusprechen, zum Schreiben.
    Versuche z.B. einzelne LEDs einzeln mit Software-Befehlen an und auszuschalten (ohne externe Taster, z.B. einfach als Lauflicht in einer for() Schleife).
    Kannst du das?
    Mit "meinen" GCC Linux API Libs klappt das, also muss es auch mit "deinen" funktionieren, nur eben mit anderer Syntax (die ich aber nicht kenne).
    Wenn du das dann kannst, versuche den Input vom ersten (z.B. per 16 einzelne Taster) 1:1 auf den 2. zu übertragen (Anzeige dort über 16 einzelne LEDs).

    Hier siehst du so ein Beispiel für GCC mit Linux und wiringPi, nur um das Prinzip deutlich zu machen:
    http://wiringpi.com/extensions/i2c-mcp23008-mcp23017/
    Geändert von HaWe (23.03.2017 um 10:23 Uhr)

Ähnliche Themen

  1. Mcp23017
    Von modtronic im Forum C - Programmierung (GCC u.a.)
    Antworten: 17
    Letzter Beitrag: 19.02.2017, 23:15
  2. MCP23017 mit Python steuern
    Von opc im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 23.01.2015, 09:43
  3. [ERLEDIGT] MCP23017 - I2C ansprechen ohne Erfolg
    Von JoeM1978 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 07.01.2014, 07:15
  4. "Input" scheint nur beim ersten mal richtig erkannt zu werden?!
    Von Testus2K im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 06.06.2013, 22:09
  5. int2 am avr32 braucht beim input ein zusatzbefehl
    Von robbifan im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 17.05.2007, 11:52

Berechtigungen

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

Solar Speicher und Akkus Tests