PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LEDs an der experimentier platine über XBUS



KingArthur
04.01.2009, 16:03
Hallo Leute
ich wollte meinen RP6 erweitern und bin in einem thema das ich leider nicht wieder finde auf diese Befehle gestoßen

PORTA |= E_INT1; // PA4 high
mSleep(100);
PORTA &= ~E_INT1; // PA4 low

PORTC |= SCL; // PC0 high
mSleep(100);
PORTC &= ~SCL; // PC0 low

PORTC |= SDA; // PC1 high
mSleep(100);
PORTC &= ~SDA; // PC1 low

es geht darum 3 LEDs auf der experimentier platiene anzusteuern es klappt auch super aber jetzt wollte ich mal fragen wiso man
PORTA
und
PORTC SDA
und
SDL
nimmt was hat SDA und SDL zu bedeuten und wieso nimmt man nicht PORTB
bin dankbar für jede antwort
mfg Arthur

radbruch
04.01.2009, 16:20
Hallo

Die Befehle verwendet man normalerweise um die Pins am XBUS des Basis-RP6 anzusteuern. Wenn deine Erweiterung dort angeschlossen ist macht das durchaus Sinn.

E-INT, SDA und SCl sind in der RP6-Library definiert:


...
#define E_INT1 (1 << PINA4) // INT1 (input per default... can be output)
...
#define SDA (1 << PINC1) // I2C Data (I/O)
#define SCL (1 << PINC0) // I2C Clock (Output (Master), Input (Slave))
...
(aus RP6RobotBase.h)

Die obrigen Beispiele würde ausgeschrieben so aussehen:

PORTA |= (1 << 4); // PA4 high
mSleep(100);
PORTA &= ~(1 << 4); // PA4 low

bzw:

PORTC |= (1<<0); // PC0 high
mSleep(100);
PORTC &= ~(1<<0); // PC0 low
PORTC |= (1<<1); // PC1 high
mSleep(100);
PORTC &= ~(1<<1); // PC1 low

Gruß

mic

KingArthur
04.01.2009, 16:37
aso ok das sieht mir verständlicher aus
vielen dank für die schnelle antwort
mfg Arthur

Dirk
04.01.2009, 19:07
Hallo KingArthur,

... ich wollte meinen RP6 erweitern und bin in einem thema das ich leider nicht wieder finde auf diese Befehle gestoßen ..
War es evtl. das hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=38575

Gruß Dirk

KingArthur
04.01.2009, 19:23
jop genau das meinte ich THX