www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega128: M103C Fuse


Autor: Matthias S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
N'Abend,

ich habe eine Frage zum M103C Fuse beim ATmega128:

Bei M103C gesetzt kann ich die eingehenden Signale z.B. über
if(bit_is_set(PINC, 0))... abfragen, allerdings "versanden"
Funktionsaufrufe und das Programm stürzt ab.

Bei M103C gelöscht, klappen sämtliche Funktionen, jedoch kann ich die
Eingangssignale nicht mehr abfragen (jedenfalls nicht auf obige Art und
auch nicht indem ich das ganze als Bitfeld einlese).

Meine Frage lautet nun:
Wie kann ich mit der zweiten Vorgehensweise trotzdem die eingehenden
Signale abfragen?

Vielen Dank für alle Vorschläge,

Matthias

P.S. Über Suche in google und im Forum habe ich hierzu keine passenden
Einträge finden können.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du Dir die anderen Sonderfunktionen, die Dein Port im
Mega128-Modus hat, mal angesehen?

Autor: Matthias S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und danke für die Antwort,

die Sonderfunktionen habe ich mir angesehen. Außer SPI brauche ich je
einen Port zur Ein- und Ausgabe.

Gibt es Erfahrungswerte für die Wahl des Eingabeports?

Vielen Dank,

Matthias

Autor: Matthias S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht sollte ich meine Frage noch einmal neu formulieren:

Wie kann ich dem ATmega128 klarmachen, dass ich einen Port nur zum
Einlesen der eingehenden Signale brauche?

Ich habe es programmtechnisch versucht durch entsprechende Belegung des
DDRegisters, aber das Einlesen im 128er Modus auf keinem Port.

Alternative Frage: Wie kann ich die Alternate Functions eines einzelnen
Ports ausschalten?

Ih stehe gerade total auf dem Schlauch (und habe leider auch in der
Dokumentation keine Hinweise finden können) und bin für jeden Hinweis
dankbar.

Viele Grüße,

Matthias

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für das Einlesen eines Ports muß man normalerweise keinerlei
Vorkehrungen treffen, da alle Portpins standardmäßig auf Eingang
geschaltet sind.

Sonderfunktionen muß man in der Regel zuschalten, wobei die Ausnahme
ist, daß die Zuordnung zum JTAG-Port bei den Controllern, die JTAG
können, per Fusebit vorverdrahtet ist (damit man via JTAG
programmieren kann); hier müssen also ggf. die Fusebits gelöscht
werden bzw. die JTAG-Funktion per Controlregister ausgeschaltet
werden.

Mir dünkt aber, Du hast irgendwo ein anderes Problem.  Du beschreibst
das aber so wenig, daß man Dir nicht helfen kann.

Autor: Matthias S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

mein Problem ist folgendes:

Ich setze Ausgänge und benutze dann Funktionen wie
loop_until_bit_is_set bzw. frage die aktuellen Belegungen über ein
Bitfeld ab und prüfe dann die einzelnen Bits in Schleifen.

Dieser Vorgang funktioniert aber nur, wenn ich den M103C setze.
Ansonsten kann ich die Eingänge nicht als (Abbruch-)Bedingungen
verwenden, weil die Signale, die nachgewiesenermaßen an den Eingängen
anliegen nicht verarbeitet werden (warum auch immer).

Wenn ich allerdings um die Eingänge abfragen zu können den M103C setze
versagen alle Aufrufe von selbstgeschriebenen Funktionen. Dies habe ich
bislang auf die in der Atmel Doku als verschiedenen "internal ram
space"s zurückgeführt.

Das Problem ist nun: Wieso klappt die Abfrage von Eingängen nur wenn
ich M103C setze?

Vielen Dank, Matthias

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.