www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Adressierung bus mit dipschalter


Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,

habe ein kleines problem und ich hoffe Ihr könnt mit bei dem kleinen 
problem helfe.

also ich habe 9 atmega8, sind als bus gekoppel.
aufbau ist jeder atmega8 ist auf einer platiene (Steckkarten)
also karte eins master und karte 2-9 slave.
wenn ich die adressierung schreibe ist die funktion auch ok.
ich habe jetzt nur das problem ich möchte die adr über dipschalter 
vergeben, so das man die karten untereinander tauschen kann und anhand 
der dipschalter die adr vergibt ( bzw soll dann die steckplatz nr 
darstellen).

kann mir eier helfen, wie ich das vom program erreiche.

sollte so sein, eingang1=adr 1, eingang2=adr2, eingang1+2=adr3 usw usw

habe da ergendwie meine probleme.

danke im vorraus.

sven

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DIP-Schalter einlesen ist nur etwas für
die Profis! SCNR :(

Man, man, man.

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, das ist wohl richtig, aber wie soll man dahin kommen, wenn man einen 
nicht helfen möchte in der sache.

ich habe ja auch kein problem einem zu helfen wenn ich es kann und das 
wissen da ist.

also bitte hilft mir doch mit einem beispiel zum beispiel.

danke sven

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also das Einlesen von Schaltern und Tastern an einem AVR ist wohl der 
erste Teil des AVR-Tutorials für Anfänger...

Wenn Du jetzt schreibst, daß Du da Master/Slave geschichten mit 8 AVR 
laufen hast und dann daran scheiterst, kann ich holgers Bemerkung nur zu 
gut verstehen.

Was ist denn nun Dein Problem? Das Einlesen der Schalterstellung mit 
einem AVR?
Dann kann ich Dich auch nur dahin verweisen:
http://www.mikrocontroller.net/articles/AVR-Tutori...

Gruß aus Berlin
Michael

Autor: Manfred Schön (mandinice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen

Kannst Du die Eingänge noch frei auswählen ?

Wenn ja. Nimm einfach die ersten vier Eingänge eines Ports und blende 
die oberen vier Bits aus.

Adresse = PortA AND 0x0f

In welcher Programmiersprache arbeitest Du ?

hmg
Mandi

Autor: markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du die Karten austauschen möchtest, mach doch die Codierung der 
Busadresse an deiner Busrückwand oder im Spannungsstecker irgendwo halt, 
aber diese Einstellung per DIP-Schalter ist Fehleranfällig.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
alternativ  einen 4bit schalter oder ein 4poligen DIP  eben


dann hast du 16 adressen zur wahl
diese ließt du auf jedem slave  ein
nimmst eine standardadresse  + DIPschalter

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich danke euch schon mal für die antworten, wie was angeschloßen wird 
ist mir schon klar.

meine frage war ja jetzt nur gewessen, wie baue ich es im program ein 
das ich bei dip stellung1 , 1adr auf dem chip schreibe, für2 2 usw.

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat den keiner von Euch ein kleines beispiel

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sven schrieb:
> hat den keiner von Euch ein kleines beispiel

steht doch längst da:

Manfred Schön schrieb:
> Adresse = PortA AND 0x0f

in deine Initialisierung und gut ist...

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Adresse = PortA AND 0x0f

Würde PINA verwenden aber gut...

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups stimmt...gar nicht bemerkt...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.