- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 25

Thema: RP6Control M32: Projekt I2C-Slave

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    27.08.2006
    Alter
    77
    Beiträge
    83
    Hallo Dirk,

    bekomme Fehlermeldung.

    Bitte Make File anzeigen.

    Compiling: RP6M256_M32_I2CMaster_02.c
    avr-gcc -c -mmcu=atmega2560 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6M256_M32_I2CMaster_02.lst -I../../RP6Lib -I../../RP6Lib/RP6control_M256_WIFI -I../../RP6Lib/RP6common -I../../RP6Lib/RP6control_M256_WIFI/sdc -std=gnu99 -MD -MP -MF .dep/RP6M256_M32_I2CMaster_02.o.d RP6M256_M32_I2CMaster_02.c -o RP6M256_M32_I2CMaster_02.o
    In file included from RP6M256_M32_I2CMaster_02.c:38:
    ../../RP6Lib/RP6control_M256_WIFI/RP6M256_M32_I2CMasterLib.h:347: error: expected identifier or '(' before '{' token
    make: *** [RP6M256_M32_I2CMaster_02.o] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:00

    Gruß
    Kurt

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hallo Kurt,

    hier das makefile (Ausschnitt):
    Code:
    ###############################################################################
    # Target file name (without extension).
    # This is the name of your main C source file! Do NOT append the ".c"!
    # Example: Let's assume your main source file is "RP6Base_MyProgram.c", then
    # you would write: TARGET = RP6Base_MyProgram
    TARGET = RP6M256_M32_I2CMaster_02
    ###############################################################################
     
    ###############################################################################
    # Specify relative path to RP6 library files here.
    # This is "../../RP6Lib" or "../RP6Lib" usually.
    RP6_LIB_PATH=../../RP6Lib
    RP6_LIB_PATH_OTHERS= $(RP6_LIB_PATH)/RP6control_M256_WIFI $(RP6_LIB_PATH)/RP6common
    RP6_LIB_PATH_OTHERS += $(RP6_LIB_PATH)/RP6control_M256_WIFI/sdc
    ###############################################################################
    
    #------------------------------------------------
    # Main Source file is _automatically_ added here:
    SRC = $(TARGET).c
    # DO NOT EDIT THIS!
    
    ###############################################################################
    # If there is more than one source file, append them here separated by spaces.
    # Usually you have to add the Library files here! (ONLY add c files "*.c" here,
    # NO header files "*.h"!)
    # Don't forget to add relative paths!
    
    #SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CslaveTWI.c
    SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CmasterTWI.c
    
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/RP6M256_I2CMasterLib.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/RP6M256_M32_I2CMasterLib.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/RP6M256Lib.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/RP6M256uart.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/RP6M256_WIFIlib.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/sdc/sd_raw.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/sdc/fat.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/sdc/partition.c
    SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/sdc/byteordering.c
    Gruß
    Dirk

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Hallo Dirk,

    ich möchte gerne dein I2C-Slave-Programm für die M32 Verwenden. Ich habe mir die aktuellen Examples (v1.8, siehe http://www.rn-wissen.de/index.php/RP...rung#Versionen ) heruntergeladen. Dort in "RP6CONTROL_EXAMPLES" einen Ordner "M32-Slave" erstellt. Dort hab ich eine RP6Control_I2CSlave.c mit dem Quelltext von http://www.rn-wissen.de/index.php/RP...2C-Slave#Slave erstellt. Dazu das Makefile eines anderen Beispiels kopiert und ein paar Parameter angepasst:
    Code:
    TARGET = RP6Control_I2CSlave
    
    SRC += $(RP6_LIB_PATH)/RP6control/RP6ControlLib.c 
    SRC += $(RP6_LIB_PATH)/RP6common/RP6uart.c 
    SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CslaveTWI.c 
    #SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CmasterTWI.c
    Beim übersetzen "make all" bekomme ich aber folgende Fehler:
    Code:
    $ make all
    
    -------- begin --------
    avr-gcc (GCC) 4.7.0
    Copyright (C) 2012 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    
    Compiling: RP6Control_I2CSlave.c
    avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Control_I2CSlave.lst -I../../RP6Lib -I../../RP6Lib/RP6control -I../../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Control_I2CSlave.o.d RP6Control_I2CSlave.c -o RP6Control_I2CSlave.o
    RP6Control_I2CSlave.c:96:1: error: unknown type name ‘freeIOs_t’
    RP6Control_I2CSlave.c: In function ‘task_update’:
    RP6Control_I2CSlave.c:116:5: error: ‘pressedKeyNumber’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:116:5: note: each undeclared identifier is reported only once for each function it appears in
    RP6Control_I2CSlave.c:129:41: error: ‘ins’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:129:60: error: request for member ‘byte’ in something not a structure or union
    RP6Control_I2CSlave.c:137:8: error: ‘releasedKeyNumber’ undeclared (first use in this function)
    RP6Control_I2CSlave.c: In function ‘task_updateRegisters’:
    RP6Control_I2CSlave.c:205:57: error: ‘ins’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:214:56: error: ‘adc4’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:216:56: error: ‘adc3’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:218:56: error: ‘adc2’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:220:56: error: ‘adc6’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:222:56: error: ‘adc5’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:224:56: error: ‘adc7’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:226:57: error: ‘adcMic’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:228:59: error: ‘adcKeypad’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:230:63: error: ‘releasedKeyNumber’ undeclared (first use in this function)
    RP6Control_I2CSlave.c:231:62: error: ‘pressedKeyNumber’ undeclared (first use in this function)
    RP6Control_I2CSlave.c: In function ‘task_commandProcessor’:
    RP6Control_I2CSlave.c:339:4: warning: implicit declaration of function ‘setOUTs’ [-Wimplicit-function-declaration]
    RP6Control_I2CSlave.c:343:32: error: ‘adcMic’ undeclared (first use in this function)
    RP6Control_I2CSlave.c: In function ‘main’:
    RP6Control_I2CSlave.c:472:9: error: request for member ‘byte’ in something not a structure or union
    RP6Control_I2CSlave.c:484:3: warning: implicit declaration of function ‘task_RP6M32System’ [-Wimplicit-function-declaration]
    make: *** [RP6Control_I2CSlave.o] Fehler 1
    Hilfe

    (Für mich sieht das so aus, als währe eine Lib nicht eingebunden. Aber welche? Und warum meckert er dann nicht?)

    Viele Grüße
    -schumi-

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @-schumi-:
    Hast du im Abschnitt "Planung" (http://www.rn-wissen.de/index.php/RP...-Slave#Planung) den Punkt 9 gesehen?
    Gruß
    Dirk

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Hi Dirk,

    Ja, hab ich. Allerdings hab ich nicht überrissen, dass man die 1.32beta in die 1.3 integrieren soll (Ordner zusammenführen und existierende Dateien überrschreiben)

    Naja, jetz konnte ich das ganze übersetzen

    Herzlichen Dank! :-D

    Viele Grüße
    -schumi-

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Super! Dann klappt es ja!

    [Vielleicht hätte ich das noch mal im RN-Wissen Artikel im Slave-Abschnitt erwähnen sollen! ...habe ich gerade ergänzt!]
    Gruß
    Dirk

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Hallo Dirk,

    jetzt hab ich doch noch eine Frage zu deinem M32-Slave-Programm:

    Wie kann ich erkennen ob der letzte Befehl (z.B. Buchstabe aufs LCD schreiben) abgeschlossen ist? Weil ich kann inzwischen mit dem Raspberry Pi auf das LCD schreiben, habe aber das Problem, dass wenn ich einen String sende, die Buchstaben so schnell hintereinander gesendet werden, dass das Ganze nicht funktioniert (Es steht dann nur der letzte Buchstabe des Strings auf dem Display).

    Ich habe jetzt mal probehalber eine Wartezeit vom 20ms zwischen jedem Buchstaben eingebaut, und schon wird auch der ganze String angezeigt. Aber eine tolle Lösung ist das natürlich nicht...


    Leider habe ich deinen Code noch nicht ganz verstanden, und habe überhaupt ein bisschen Probleme mit den Handlern/Watchdogs/Timeouts etc..

    Viele Grüße,
    -schumi-

Ähnliche Themen

  1. RP6Control M32: Library für 8 Servos
    Von Dirk im Forum Robby RP6
    Antworten: 84
    Letzter Beitrag: 12.02.2013, 22:17
  2. Slave Transmitter und Slave Receiver Mode
    Von masasibe im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 26.02.2011, 20:55
  3. RP6Control M32: Tonfrequenzen
    Von Dirk im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 10.10.2009, 19:47
  4. Slave-Master-Slave übertragung geht nicht
    Von Dämmi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 16
    Letzter Beitrag: 26.11.2008, 01:08
  5. Antworten: 0
    Letzter Beitrag: 26.08.2007, 16:03

Berechtigungen

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

Solar Speicher und Akkus Tests