www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8: PortB.2 nutzen


Autor: Philipp B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich hab ein kleines Problem. Und zwar kann ich nicht auf das 2Bit
von PortB zugreifen. Ich nehme an, da der Pin mehrfach belegt ist (PB2,
\SS und OC1B) muss ich dem Controller mitteilen, dass der Pin für
PortB sein soll.
Aber wie kann ich das machen??

Danke für Tips

Autor: Armin Kniesel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Pin ist ein normaler I-O-Pin und braucht nicht extra deklariert zu
werden.

Autor: Philipp B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich kann ihn aber nicht nutzen. Die anderen funktionieren (0,1,3,4,5),
nur der zweite nicht.

Autor: Philipp B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt mal die Doku druchsucht. Ich nehme an, dass \SS aktiv
ist, und zwar ist das der Fall, wenn SPI als Slave aktiv ist (wenn ich
das richtig verstanden hab).

Leider weiß ich aber nicht, wie ich SPI deaktivieren oder zum Master
kann.
Vielleicht liegt der Fehler auch woanders. Ich hab folgendes Programm
zum testen:

while (1)
{
  PORTB= 0xff;
  delay(50);

  PORTB= 0x00;
  delay(50);
}

Das bringt LEDs am PortB zum blinken. Nur die 3 LED (also Bit 2) blinkt
nicht.

Autor: Mattias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Philipp,
ob SPI als Master oder Slave arbeiten soll, steht im SPCR Register.
Datenblatt Seite 126. Dort kannst Du alles einstellen.

• Bit 4 – MSTR: Master/Slave Select
This bit selects Master SPI mode when written to one, and Slave SPI
mode when written
logic zero. If SS is configured as an input and is driven low while
MSTR is set, MSTR will
be cleared, and SPIF in SPSR will become set. The user will then have
to set MSTR to
re-enable SPI Master mode.

Gruß Mattias

Autor: Philipp B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, danke schonmal für eure Hilfe.
Leider hab ich immer noch keine Lösung.

Aber mir ist gerade aufgefallen, dass ich keinen 2. Bit von einem Port
zugreifen kann. Also bei PortB, PortC und PortD funktioniert jeweils
das 2.Bit nicht. Alle anderen funktionieren.
Ich kann mir irgendwie nicht vorstellen, dass das zufall ist. z.B.
PortC Bit 2 ist mit PC2 und ADC2 belegt, genauso wie Bit 0, 1 und 3.
Und die funktionieren.

Kann das ein defekt am IC sein??
Aber wieso ist dann immer das 2. Bit defekt? Arg, ich verzweifel nocht.

Autor: Philipp B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat sich erledigt, die Bits gehen wohl doch. irgendwas muss an meinem
Programm flasch sein ....

mit Assembler geht es.

Autor: Malte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An deinem Programm ist nix falsch!
wenn es mit ASM geht scheint der Compiler schrott zu sein? Kein plan.
aber hin und wieder gibt es immer komische Konstellationen, geht mir
auch so :)

Autor: Malte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, nachtrag zu "programm richtig";
ausser du hast ausgerechnet alle Pin2 der Ports auf input geschaltet
sfg

Gruss, Malte

Autor: Philipp B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne, selbstverständlich nicht grr, schön ware es, dann hätte ich den
Fehler.

mhhh, ich glaub da muss ich mal richtig suchen

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.