-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: M32/M128 Pro Display, EEPROM, SRAM, Master / Slave Fragen

  1. #1

    M32/M128 Pro Display, EEPROM, SRAM, Master / Slave Fragen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo Roboternetzler,

    ich habe seit genau einem Jahr einen RP6(hab ihn letztes Jahr zum 12. Geburtstag bekommen). Ich habe ein M32 mit 16x2 Zeichen Display und ein M128 Pro ebenfalls mit einem 16x2 Zeichen Display.

    1. Kann ich statt den beiden 16x2 Zeichen Displays zwei 20x4 Zeichen Displys anschliesen und diese auch ansprechen?
    2. Was müsste ich in den Libs ändern?

    Desweiteren möchte ich das M32 und das BASE als Slave vom M128 Pro aus steuern. Für das BASE ist eine Slave Lib ja schon mitgeliefert worden, für das M32 habe ich eine eigene geschrieben(Anhang).

    3. Was habt ihr für verbesserungsvorschläge für meine Slave Lib?
    4. Ist es sinnvoll das M32 UND das BASE als Slave zu verwenden?

    Ich habe auf das M32 und auf das M128 Pro ein 1Mbit EEPROM aufgelötet, wie hier gezeigt.

    5. Wie muss ich den Code in den Libs ändern, aus der Anleitung im Wissensbereich werde ich nicht schlau...
    6. Wie muss ich den Code für das M128 Pro ändern?

    Auf dem M128 Pro sind die Ports A und C nicht "belötet". ich habe wannenstecker gekauft und gehört, das man das SPI SRAM deaktivieren muss, um diese Ports zu nutzen. In der Anleitung steht, das es keine gute Idee ist, es zu deaktivieren, aber ich habe doch ein weitaus größeres EEPROM!

    7. Also ist es doch sinnvoll es zu deaktievieren, oder?
    8. Ich wollte hinten am RP6 noch 2 Lichtsensoren(über ADC0 und ADC1) und 2 Bumper (Eventuel I/O 0 und I/O 1) anschließen.
    9. Welche Lichtsensoren(Bumper) werden Vorne verwendet?

    Ich würde nähmlich gerne die selben verwenden.

    Ich hoffe, das ich euch mit den Fragen nicht zu sehr vollgequatscht habe...

    MfG,

    Tobias1
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Habe keine Zeit alles zu beantworten aber:

    > SPI SRAM

    Das ist natürlich Kein SPI SRAM.

    Das ist ein paralleles 64KByte
    SRAM am XMEM Interface vom MEGA128. Es wird hier also das interne 4KByte RAM (Arbeitsspeicher) der CPU auf 64K erweitert und nicht die "Festplatte" (EEPROM)
    - hoffe das ist so verständlich

    Externes EEPROM kannst Du auch einfach irgendwo z.B. auf der Experimentierplatine an den I2C Bus hängen.

    Und Portexpander wie der PCF8574 können an den I2C Bus gehängt werden wenn man noch mehr zusätzliche ports braucht.
    (dazu Forum Suchfunktion benutzen!)


    MfG,
    SlyD

  3. #3

    Danke

    Danke für deine Antwort.
    as EEPROM habe ich auf den eingebauten Sockel gesteckt. Was muss ich in den Libs ändern um es anzusprechen?
    Zum Thema Portexpander: Ich überlegs mir (wenn ich mal Portmagel haben SOLLTE) , 3€ sind jezt ned die Welt, aber wie spreche ich den dan an? Etwa so ?

    Pseudocode:

    Code:
    I2C_BUS_Send(Portexpander_ADR, Schalte 1.Port an(aus))
    Nochmals danke für die Schnelle antwort,

    Tobias1

  4. #4

    Hallo??

    Weis sonst noch jemad irgendwas?

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    Hi,
    zum Portexpander kannst du dir die Beispiele RP6Base_I2CMaster ansehen.
    Trainmen

  6. #6

    Beispiele

    Hey Cool,

    die Beispiele sind ja echt gut zu verstehen. Aber weis jemad noch etwas über die anderen Punkte?

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    Hallo Tobias,
    da mein M128 teilweise defekt ist, wollte ich die M32 als Slave verwenden und Deine RP6Controll_I2CSlave.c verwenden. Allerdings bekomme ich diese nicht zum laufen. War Deine lauffähig? Beim kompilieren spinnt meiner in der task_commandProcessor() und zwar bei der Auswertung von

    case CMD_SHOWSCREENLCD: showScreenLCD(param1[], param2[]); break;

    Kommentiere ich das ganze aus, wird die Fehlermeldung noch unschöner.

    Code:
    -------- begin --------
    avr-gcc (WinAVR 20100110) 4.3.3
    Copyright (C) 2008 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_09_Move.c
    avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Control_09_Move.lst -I../../RP6Lib -I../../RP6Lib/RP6control -I../../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Control_09_Move.o.d RP6Control_09_Move.c -o RP6Control_09_Move.o
    
    Linking: RP6Control_09_Move.elf
    avr-gcc -mmcu=atmega32 -I. -gdwarf-2   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Control_09_Move.o -I../../RP6Lib -I../../RP6Lib/RP6control -I../../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Control_09_Move.elf.d RP6Control_09_Move.o ../../RP6Lib/RP6control/RP6ControlLib.o ../../RP6Lib/RP6common/RP6uart.o RP6Control_I2CMasterLib.o ../../RP6Lib/RP6common/RP6I2CmasterTWI.o --output RP6Control_09_Move.elf -Wl,-Map=RP6Control_09_Move.map,--cref    -lm
    RP6Control_09_Move.o: In function `signalInterrupt':
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:69: undefined reference to `I2CTWI_dataWasRead'
    RP6Control_09_Move.o: In function `getCommand':
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:155: undefined reference to `I2CTWI_writeRegisters'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:155: undefined reference to `I2CTWI_writeBusy'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:157: undefined reference to `I2CTWI_writeRegisters'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:158: undefined reference to `I2CTWI_writeRegisters'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:159: undefined reference to `I2CTWI_writeRegisters'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:160: undefined reference to `I2CTWI_writeRegisters'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:161: undefined reference to `I2CTWI_writeRegisters'
    RP6Control_09_Move.o:C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:162: more undefined references to `I2CTWI_writeRegisters' follow
    RP6Control_09_Move.o: In function `task_updateRegisters':
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:107: undefined reference to `I2CTWI_readBusy'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:117: undefined reference to `I2CTWI_dataWasRead'
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:117: undefined reference to `I2CTWI_dataReadFromReg'
    RP6Control_09_Move.o: In function `main':
    C:\Users\MagelansPC\Desktop\RP6\Projekt 1\Projekt\RP6 M32 Slave/RP6Control_09_Move.c:231: undefined reference to `I2CTWI_initSlave'
    make: *** [RP6Control_09_Move.elf] Error 1
    
    > Process Exit Code: 2
    > Time Taken: 00:00
    Gruß und weiter ein schönen WE

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Compilerausgabe:
    >> ../../RP6Lib/RP6common/RP6I2C___master___TWI.o


    Check mal das Makefile ob da auch die I2C Slave Libs eingebunden werden.
    Die sind standardmßig auskommentiert.

    So müsste es als Slave aussehen:
    SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CslaveTWI.c
    #SRC += $(RP6_LIB_PATH)/RP6common/RP6I2CmasterTWI.c


    MfG,
    SlyD

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    Danke SlyD. Es lag wirklich unter anderem an dem falschen Import.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.01.2010
    Ort
    Bielefeld
    Beiträge
    101
    wodran lag es denn noch bekomme es nicht zum laufen

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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