- 12V Akku mit 280 Ah bauen         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: RP6 Slave und M32 Slave

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Danke dir.
    Er kompiliert zwar, bringt aber folgenden Fehler:
    [code]Compiling: ../../Library/RP6control/RP6Control_I2CMasterLib.c
    avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=../../Library/RP6control/RP6Control_I2CMasterLib.lst -I../../Library -I../../Library/RP6control -I../../Library/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Control_I2CMasterLib.o.d ../../Library/RP6control/RP6Control_I2CMasterLib.c -o ../../Library/RP6control/RP6Control_I2CMasterLib.o
    ../../Library/RP6control/RP6Control_I2CMasterLib.c: In function 'getAllSensors':
    ../../Library/RP6control/RP6Control_I2CMasterLib.c:172: warning: array subscript is above array bounds[\code]


    Was kann ich denn gegen das ADC-Problem auf der M32 machen?
    Wie schreibe ich deren Werte in zwei Buffer?

    Grüße

  2. #12
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    uint8_t sensorBuf[24];

    sensorBuf[] ist nicht groß genug für leds = sensorBuf[26];
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    ahh, klar. Danke !!!
    Das hab ich Vergessen

    Und die ADC-Sache?

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Hi!
    Ich möchte gerade die ADCs der M128 via BT senden.
    Habe dafür folgendes im Manual gefunden:
    Code:
    Syntax
    word ADC_Set(byte v_ref,byte channel);
    Sub ADC_Set(v_ref As Byte,channel As Byte) As Word
    Beschreibung
    Die Funktion ADC_Set initialisiert den Analog-Digital_Wandler. Die Referenzspannung und der Messkanal
    werden ausgewählt, und der A/D Wandler für die Messungen vorbereitet. Der Meßwert wird danach mit
    ADC_Read() ausgelesen.
    Parameter
    channel Portnummer (0..7) des ADC (Port A.0 bis A.7 bei Mega32, Port F.0 bis F.7 bei
    Mega128)
    v_ref Referenzspannung (siehe Tabelle)
    Ich mache das mit Fabian E.'s Code:
    Code:
                  print("Bat:");
                  printInteger(adcBat);
                  print("\n");
                  oldBat = adcBat;
    Daher, denke ich, muss es dann folgendermaßen aussehen:
    Code:
                  ADC_Set(ADC_VREF_VCC,0)
                  print("ADC0_M128:");
                  printInteger(ADC_Read(void));
                  print("\n");
    Leider kommt da nix bei mir an...

    Vg,
    Fabian

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Was ist "nix"? Null?
    Was hast du an PF0 (ADC-Stecker Pin 4) angeschlossen?
    Gruß
    Dirk

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Gar nix:
    Code:
    #*#*#
    [DATA]
    PowerL:3
    LightL:887
    LightR:875
    [/DATA]
    [DATA]
    PowerL:4
    LightL:886
    LightR:874
    Temp:2469
    [/DATA]
    Code ist wie oben, erst et, dann print(read).

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    mit den Status LEDs der Base klappts auch nicht:
    Code:
            print("LEDs_Base:");
            printInteger(I2C_REG_LEDS);
            print("\n");

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Also das mit den LEDs klappt! Doofer fehler.
    Aber wie lese ich denn vernünftig die ganzen ADCs der M128 aus und sende sie?

    Vg

  9. #19
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    > printInteger(ADC_Read(void));

    void übergibt man i.d.R. nicht - das ist nur nen platzhalter bei der Deklaration von Funktionen und steht für NIX.
    Aber das nur nebenbei.


    Teste es doch einfach mal mit dem Beispielprogramm Example_03_IO_Threads
    Da werden alle ADCs ausgelesen (den Start Taster paar mal drücken!).


    MfG,
    SlyD

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Danke dir, hab das mal gemacht:
    Code:
                char tmp[16];
                word result;
    
                    ADC_Set(ADC_VREF_VCC,0);  // Kanal wählen...
                    Thread_Delay(25);               // ... warten ...
                    result = ADC_Read();            // ... und auslesen.
    
                    // Messwert ausgeben:
                    print("ADC_M128(0): ");
                    Str_WriteInt(result,tmp,0);
                    Serial_WriteText(0,tmp);
                    print("\n");
    
                    ADC_Set(ADC_VREF_VCC,7);  // Kanal wählen...
                    Thread_Delay(25);               // ... warten ...
                    result = ADC_Read();            // ... und auslesen.
    
                    // Messwert ausgeben:
                    print("ADC_M128(7): ");
                    Str_WriteInt(result,tmp,0);
                    Serial_WriteText(0,tmp);
                    print("\n");
    erste Frage: Was soll das tmp[16]?
    Zweite: Wo kann ich das Setzen des ADCs (ADC_Set(ADC_VREF_VCC,0) ) und das thread_delay sonst hintun?
    Ich brauche ja nach dem ADC-anschalten etwas Zeit, um die Messung abzuwarten... oder kann man das einfach rauslassen?

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Slave Transmitter und Slave Receiver Mode
    Von masasibe im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 26.02.2011, 20:55
  2. I2C Slave
    Von Jada im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 19.06.2010, 12:47
  3. Slave-Master-Slave übertragung geht nicht
    Von Dämmi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 16
    Letzter Beitrag: 26.11.2008, 01:08
  4. I2C-Slave
    Von liggi im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 02.01.2008, 17:02
  5. Pic als Slave am I2C
    Von kalletronic im Forum PIC Controller
    Antworten: 4
    Letzter Beitrag: 04.08.2006, 20:46

Berechtigungen

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

LiFePO4 Speicher Test