RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO 2 Ein- oder Ausgänge beim NDS3

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:

THEMA: Ein- oder Ausgänge beim NDS3

Aw: Ein- oder Ausgänge beim NDS3 11 Jahre 5 Monate her #1724

  • achim S.
  • achim S.s Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 441
Hallo Egon
stimmt, habe gesagt, das ich es versuche. Leider ist es bei dem Versuch geblieben. Mein Versuch war leider nicht mit Erfolg gekrönt oder sagen wir es richtig, es lief sche...e. Bin immer noch am denken, wie es gehen könnte. Keine Richtung geht, wie es soll. Bekomme nur Fehlermeldungen.
Es reicht aus, wenn ich die Ports als Ein- oder Ausgang schalten kann.
Die Pläne zur Hardware sind ganz einfach. Entweder LED an oder aus an den Ports, die dazu gehen oder ein ADC mit einer Spannungseingabe und Anzeige zwischen 0 und 5V.
Es braucht kein riesiges Prg zu sein. Display unwichtig. z.B. wenn ich S3 drücke leuchtet LED am Port ??? des Attiny. Sowas sollte / könnte ja aus der Doku ervorgehen. Leider nichts passendes gefunden.
Fällt dir was ein, wie es gehen könnte?
achim
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Ein- oder Ausgänge beim NDS3 11 Jahre 5 Monate her #1727

  • Egon
  • Egons Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 316
Hallo achim S.

Im Prinzip ist es doch ganz einfach...Nehmen wir an,Du willst von Port A die beiden Pins PA0 und PA1 nutzen =>z.B nehmen wir weiter an, Du nimmst PA0 als Eingang (ein Taster wird prellfrei eingelesen - P. Danegger lässt grüssen, von dem hats Du ja schon ein Programm übernommen) und nehmen wir weiter an, Du nimmst PA1 als Ausgang, um damit eine LED anzusteuern. Wir nehmen weiter an, Du verwendest nicht die Routinen von workwind, da Wirkunsgweise und Verwendung nicht so ganz klar sind ;) - deshalb schreiben wir uns eigene Routinen...

Das heißt also:

in einer Initialiserungsroutine legen wir fest, daß
- PA0 ein Eingang wird
- PA1 ein Ausgang wird

=> wie das genau geht, steht u.a im www.mikrocontroller.net/articles/AVR-GCC-Tutorial und da bei "Zugriff auf I/O Ports"

dann fragst Du eben (Prellfrei =>P. Danegger) der Eingang PA0 ab, und machst - wenn PA= ="1" die an PA1 angeschlossene LED an => PA1 mußß dann Ausgang sein

Schreib doch einfach mal ein Programm und schicks mir oder stell's hier rein - so schwer ist das nicht

Ach ja - vergiss nicht die nötigen Header Dateien mit zu includen


Viel Erfolg

Egon
lokalisieren, eliminieren, Vollzug melden
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Ein- oder Ausgänge beim NDS3 11 Jahre 5 Monate her #1728

  • achim S.
  • achim S.s Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 441
Hallo Egon
wenn ich dich richtig verstanden habe, soll es so aussehen:

#include <avr/io.h>

uint8_nds3_ddr // rufe ich nds3 auf
DDRA=0xFF // welcher Prz ?
PortA=(1<<PA0) // auf welchem Prz setze ich?


Damit habe ich zwar nds3 aufgerufen, bloss DDRA gibt es auch auf dem 128. Diese Möglichkeit mit diesen Aufrufen und einigen anderen habe schon ausprobiert. Auch die anderen Angaben aus diesem Tutorial habe ich schon gemacht. Das Problem für mich liegt einmal in der Angabe, welche Ports ich setze (A,B usw) und der zugehörige Prz.

Muss es diesem Fall heissen:
nds3_DDRA=0xFF (oder 0x04 bei PA0 bis PA3 ?)

Das Prg von PD ist sehr gut. Warum sollen wir es nicht nuzen. Es steht im Netz für jeden der es anwendet. Habe mir die Arbeit gemacht es anzuwenden. Habe dadurch sehr gute Anwendungen gefunden und einiges an Problemen beseitigt. Man muss es nur nehmen.
achim
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Ein- oder Ausgänge beim NDS3 11 Jahre 5 Monate her #1729

  • Egon
  • Egons Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 316
Hallo achim S.

Also:

wenn Du schreibts:
DDRA=0xFF // welcher Prz ?
PortA=(1<<PA0) // auf welchem Prz setze ich?

dann mußt Du beim Compiler angeben, für welchen Prozessor das ist - in diesem Fall wilst Du ja die Ports des ATiny verwenden.

wenn Du schreibst:
uint8_nds3_ddr // rufe ich nds3 auf

ist das eine Deklaration von workwind, die davon ausgeht, daß der ATMega128 genommen wird => wenn Du (wie von mir vorgeschlagen) auf Bit-Ebene bzw Port-Ebene runtergehst, mußt Du natürlich den ATiny beim Compiler als Zielprozessor angeben...

außerdem sind da etwas wenig Header-Dateien angegeben..

Egon
lokalisieren, eliminieren, Vollzug melden
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Ein- oder Ausgänge beim NDS3 11 Jahre 5 Monate her #1730

  • achim S.
  • achim S.s Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 441
Hallo Egon
verstehe da was nicht so richtig.
wenn Du schreibst:

uint8_nds3_ddr // rufe ich nds3 auf

ist das eine Deklaration von workwind, die davon ausgeht, daß der ATMega128 genommen wird
Es steht doch extra der NDS3 da.
Wie kann ich bei angegebenen Bit-Ebene den Prz deklarieren? Das geht aus dem Tutorial auch nicht klar hervor. Kannst du dich ein wenig klarer ausdrücken. Ich weiss es nicht und frage deswegen
achim
Letzte Änderung: 11 Jahre 5 Monate her von achim S..
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Ein- oder Ausgänge beim NDS3 11 Jahre 5 Monate her #1731

  • Egon
  • Egons Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 316
Hallo workwind

Es ist schön, daß es Funktionen für die Kommunikation ATMega128 - ATtiny gibt:
void nds3_ddr_commit ()
void nds3_port_commit ()
void nds3_pin_update ()
uint16_t nds3_get_analog (uint8_t idx)
uint8_t nds3_ddr
uint8_t nds3_port
uint8_t nds3_pin

aber noch schöner - weil verständlicher - wäre es, wenn diese Fkt so beschrieben wären, daß man sie auch verwenden kann - wie kann man z.B PB0 oder PB2 ansprechen mit Deinen Funktionen? Es ist ja PA0 - PA3 und PB0 und PB2, die uns Usern zur Verfügung stehen....letzendlich wird man sich auf BitEbene begeben müssen, um diese Ports ansprechen zu können (mit DDRA bzw DDRB usw und das dann auf den ATtiny flashen...

Egon
lokalisieren, eliminieren, Vollzug melden
Letzte Änderung: 11 Jahre 5 Monate her von Egon.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Ladezeit der Seite: 0.044 Sekunden

Werbung