-
        

Ergebnis 1 bis 4 von 4

Thema: asuro.c vertehen - Motorrichtung

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214

    asuro.c vertehen - Motorrichtung

    Anzeige

    Hallo,
    da ich bemüht bin C zu lernen versuche ich gerde die ASURO -Dateien zu verstehen.
    Es geht mir um die Bestimmung der Richtung - genauer um diese Zeile aus der asuro.c:
    PORTD = (PORTD &~ ((1 << PD4) | (1 << PD5))) | left_dir;
    mir hat schon jemand erklärt (im C-Fourm), dass aus den Klammern folgendes wird: PORTD AND 1100 1111
    Dies ist also der Wert des PORTD - Bytes und die beiden Bits werden 0.
    Gut nun fehlt noch: | left_dir also OR left_dir
    Die Werte für left_dir sind in der asuro.h definiert:
    Code:
    #define FWD		(1 << PB5) /* (1 << PD5) */
    #define RWD		(1 << PB4) /* (1 << PD4) */
    #define BREAK	0x00
    #define FREE	(1 << PB4) | (1 << PB5) /* (1 << PD4) | (1 << PD5)*/
    Also ist FWD 0010 0000 dies mit OR PORTD verknüpft ergibt also:
    xx10 xxxx wobei x die alten Werte von PORTD bedeutet.
    Richtig?
    Habe ich jetzt die Bitmanipulation verstanden - ganz schön mühselig ...
    Gruß
    Stefan

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214
    ps: BREAK und FREE sollten mit dem RN-Control nicht verwendet werden?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    51
    Beiträge
    247
    Hallo

    Also ist FWD 0010 0000 dies mit OR PORTD verknüpft ergibt also:
    xx10 xxxx wobei x die alten Werte von PORTD bedeutet.

    Jo, so stimmt es.

    MFG
    Dieter

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214
    Hallo Dino,
    nochmals vielen Dank für Deine Bemühungen
    Gruß
    Stefan

Berechtigungen

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