mikrocontroller.net

Forum: Compiler & IDEs #define Problem


Autor: Martin Hofmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum funktioniert das nicht:

#define MYPIN PORTD,0

sbi(MYPIN);

Vielen DAnk,

Gruß Martin

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht PORTD.0 ?

Autor: Tobias Krühn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klammern setzen ?
Also

#define (MYPIN) (PORTD,0)

oder

#define MYPIN (PORTD,0)

oder so...

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sbi() ist `deprecated'.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema "deprecated":
Ich habe gelesen, dass timer.h und avr/timer.h auch deprecated sind.
Wie kann ich nun meinen AVR zeitlich ansteuern?

Martin

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, guck doch mal in die Datei rein: da wärst Du sicher nie drauf
gekommen, diese paar Zeilen gleich selbst in Deinen Code zu schreiben,
oder? ;-) (bzw. den Teil davon, den Du tatsächlich benötigst)

Das wesentliche Problem dieser Datei ist, daß die Funktionen nur für
den timer 0 drin stehen und daß die Bitdefinitionen sowieso nur für
einige AVRs gelten -- beim ATmega128 z. B. sind die Bitpositionen der
Vorteilerbits anders.  Du wirst also nicht umhinkommen, einfach das
Datenblatt zur Hand zu nehmen.

Die ,,Funktion'' timer0_source war eine aufwendige Reimplementierung
einer simplen Zuweisung, die noch dazu so unglücklich benannt ist, daß
wohl keiner freiwillig drauf kommt, sie zum Einstellen des
Steuerregisters von Timer 0 zu benutzen.  Die Funktionen zum Starten
und Anhalten des Zeitgebers wiederum können noch nie funktioniert
haben, weil das Verfahren ein ganz anderes ist (siehe Datenblatt).
Offensichtlich hat diese nie einer benutzt, sonst hätte er schon
längst einen Bugreport geschrieben. ;-)

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.