RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO 2 nds3 zusatzports Digitaler Eingang

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7426 private projects
  • 385 public projects
  • 16180353 lines compiled
  • 58212 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: nds3 zusatzports Digitaler Eingang

nds3 zusatzports Digitaler Eingang 11 Jahre 8 Monate her #1436

  • ostmob
  • ostmobs Avatar
  • OFFLINE
  • Junior Boarder
  • Beiträge: 9
Guten Tag.

kennt einer die Befehle (oder hat einen kleinen Bsp. Code) zum im Prozessor(atmega 128 die Erweiterungsports (A,B,C,D vom nds3) als digitalen eingang einzulesen?

Quasi wenn ich was rüberschicke, dass er es registriert.

Und ist High = 5V oder 3,3V
?

Gruß Tobias
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: nds3 zusatzports Digitaler Eingang 11 Jahre 8 Monate her #1437

  • achim S.
  • achim S.s Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 441
Hallo Tobias
suche hier mal in öffentlchen Projekte nach einigen Beispielen. Dort ist auf jeden Fall die Tasterabfrage drin. Es gibt die einfache Möglichkeit, so wie beschrieben. Oder es gibt die Möglichkeit über einen Timer mit entprellung, ist allerdings schwerer.
Mit der einfachen Lösung kannst du einiges probieren, z.B. wechsel der Ports oder anderes. Musst ein bischen probieren. Kommst du mit C klar? Wozu zählst du dich?
achim
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: nds3 zusatzports Digitaler Eingang 11 Jahre 8 Monate her #1441

  • ostmob
  • ostmobs Avatar
  • OFFLINE
  • Junior Boarder
  • Beiträge: 9
heyhey :)

also nach reichlicher Recherche häng ich grad ein bisschen :)

hier erstmal mein quellcode

includes...

int main() {
leds_init();
nds3_init();

DDRD &= ~( (1<<DDD2) | (1<<DDD3) | (1<<DDD5) | (1<<DDD6) );
//* PD2, PD3, PD5 und PD6 als Eingaenge und Rest ursprünglich belassen*/

PORTD |= ( (1<<PD2) | (1<<PD3) | (1<<PD5) | (1<<PD6) );
//* Interne Pull-Up fuer beide einschalten -> Notwendig bei eingänge? */

while(1==1){

/* Fuehre Aktion aus, wenn PD6 gesetzt ist -> PD6 = Listener) ist */
if ( (PIND & (1<<PIND6)) ) {
/* Aktion */
if (PIND & ( ( 1 << PD2 ) | ( 1 << PD3 ) ) ){
//führt LEDS aus, wenn PD2 und PD3 auf logisch 1 ist...ist das richtig????
leds_set_status(LEDS_RED, 0);
delay(500);
leds_set_status(LEDS_GREEN, 0);
delay(500);
}

}
delay(10);
}

return 0;
}


Mein Ziel ist es, dass die LED nur leuchtet, wenn ein HIGH (5V) an den Ports (PD2,3,5,6) anliegt. Nur leuchtet bei mir leider immer von anfang an die LED.
Wo könnte der Fehler liegen?

Bei Programmstart liegt keine Spannung an den Ports...das mache ich erst manuell später.
Kann wer den Code optimieren?

Gruß ostmob :)
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: nds3 zusatzports Digitaler Eingang 11 Jahre 8 Monate her #1444

  • ostmob
  • ostmobs Avatar
  • OFFLINE
  • Junior Boarder
  • Beiträge: 9
hat sich erledigt^^ :clap:
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
Ladezeit der Seite: 0.049 Sekunden

Werbung