- Modernes Energiemessgeraet    Werbung      
Ergebnis 1 bis 10 von 10

Thema: RP6Lib Bumper-/ADCerweiterung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Wieder mal ein alter Thread, den ich da gefunden hab.
    Aber was macht denn der Teil hier genau? :
    Code:
       PORTC &= ~SL2;     
    DDRC &= ~SL2;     
    nop();     
    uint8_t tmp = PINC & SL2;     
    if(statusLEDs.LED2) {        
    DDRC |= SL2;        
    PORTC |= SL2;     
    }     
    return tmp;
    DDRC ist klar, aber der Rest nicht wirklich. Ich will genauso die ADCs und diese beiden IOs einbinden. Außerdem sollen die beiden anderen IOs als Ausgänge bleiben:

    Code:
                writeString_P("BumpHL:");
                writeInteger(statusLEDs.LED2, DEC);
                writeString_P("\n");
                
                writeString_P("BumpHR:");
                writeInteger(statusLEDs.LED5, DEC);
                writeString_P("\n");
    Grüße

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Der Code schaltet Status-LED 2 (SL2) zuerst aus (PORTC &= ~SL2 ), stellt den uC-Portpin PC5 (IO2, daran ist SL2 angeschlossen!) auf Eingang um (DDRC &= ~SL2 ), wartet etwas (nop() ), liest den Eingang PC5 (IO2) in die Variable tmp ein (uint8_t tmp = PINC & SL2; ) und schaltet zum Schluß noch die SL2 wieder ein, wenn sie vorher auch an war (if(statusLEDs.LED2) {DDRC |= SL2; PORTC |= SL2;}), sonst bleibt sie aus.
    Gruß
    Dirk

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Ahh!!!
    Super, das geht dann in der Lib von Arexx genauso.
    Ich kann also diese I/Os als Ausgänge verwenden, obwohl sie eigentlich die Bumper einlesen?
    Schick!
    Bevor ich das so übernehme, hat es denn eigentlich geklappt?

    Grüße

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Hab das jetzt wie oben beschrieben in meine Lib eingefügt, meine Abfrage:

    Code:
                writeString_P("BumpL:");
                writeInteger(bumper_left, DEC);
                writeString_P("\n");
                
                writeString_P("BumpR:");
                writeInteger(bumper_right, DEC);
                writeString_P("\n");
    
                writeString_P("BumpHL:");
                writeInteger(bumper_back_left, DEC);
                writeString_P("\n");
                
                writeString_P("BumpHR:");
                writeInteger(bumper_back_right, DEC);
                writeString_P("\n");
    Klappt auch für die alten Bumper, aber nicht für die neuen...
    Die Fehlermeldung beim Kompilieren:
    Code:
    ../Library/RP6base/PCConnection_Base.c:177: error: 'bumper_back_left' undeclared (first use in this function)
    ../Library/RP6base/PCConnection_Base.c:177: error: (Each undeclared identifier is reported only once
    ../Library/RP6base/PCConnection_Base.c:177: error: for each function it appears in.)
    ../Library/RP6base/PCConnection_Base.c:181: error: 'bumper_back_right' undeclared (first use in this function)
    Weiß grad auch nicht weiter. Habe alles so gemacht, wie von nil.at. Und in meiner Lib sieht alles identisch aus zu den alten Bumpers.
    Danke für die tips!

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Also ich finds nicht.
    Ich muss ja so wies aussieht irgendwo bumper_back_left und ..._right deklarieren, hab ich doch aber so gemacht, wie es nil.at gemacht hat und wie es für bumper_back und ..._left schon in den Libs steht!?!?!?

    Grüße,
    Fabian

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    41
    Beiträge
    1.516
    Auch als extern im HEADER deklariert?
    (--> s. RP6lib header Dateien... )

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Oooops Bild  
    Repariert und es geht.

    Vielen Dank!!!!

Berechtigungen

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

    Werbung      Labornetzteil AliExpress