www.mikrocontroller.net

Forum: Compiler & IDEs outp(); resp aoutb(); im avr-libc Reference Manual 1.0.2


Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich verstehe nicht, warum im Reference Manual nichts vom Zugriff auf
die Ports mit der Funktion outp(); geschrieben wird.

Auf Seite 74ff wird die Funktion outb(); [mit weichem 'b']
beschrieben.
Gibt es leichtere Kost dazu?

Gruss

Toni

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Es ist beschrieben. zumindest noch in der Version 0.99.90.20030908

Aber wohl nicht ausführlich weil man diese Makros nicht mehr verwenden
soll.
PORTB = val; ist mitlerweile die bevorzugte Schreibweise für
outp(val,PORTB);

Matthias

Autor: Christian Schifferle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ja, ist wirklich eine feine Sache, die sich die Entwickler da
überlegt haben.
Und sobald du mal ein so geschriebenes Programm portieren willst auf
einen uC mit einer vielleicht doch etwas anderen Speicherstruktur
kannst du all diese schönen direkten Portzuweisungen raussuchen und
korrigieren.
Genau deshalb verwende ich nach wie vor die entsprechenden
Bilbliotheksfunktionen und, falls diese mal nicht mehr existieren
sollten, mach ich mir halt meine eigenen.

Viele Grüsse von einem halt bereits etwas angegrauten SW-Entwickler.
Christian

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann mach' Dir besser Deine eigenen.  Benenne sie am besten OUT oder
sowas, oder MYOUT, damit sie möglichst wenig Chance haben, jemals mit
denen möglicher Compiler zu kollidieren.

Die Variante PORTx = val; ist halt die, die auch von Atmel propagiert
wird.  Daß es im avr-gcc/avr-libc jemals outp() & Co gab lag nur
daran, daß er es in früheren Versionen leider noch nicht besser
konnte.

Davon abgesehen, gerade den Teil, der direkte Port-EA macht, schreibst
Du doch wohl ohnehin für jeden Controller komplett neu, oder?  Wenn Du
ein portables Projekt brauchst, hast Du dafür eine Art hardware
abstraction layer.

Für die Quelldateien, die ich bislang von alter Syntax auf neue
portiert habe, habe ich auch nur paar Sekunden über den
(zugegebenermaßen kryptisch anmutenden ;-) regulären Ausdruck
nachdenken müssen, den ich für die suchen&ersetzen Funktion des
Editors benötigt habe, um alles zu konvertieren.  Das war pro Projekt
kaum mehr als 5 Minuten Arbeit.

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend

Interessant, das alles zu lesen !

Als Neuling, der das Tutorial von Ch. Schifferle "Programmierung der
AVR-Microcontroller mit C" durcharbeitet, aber so ziemlich ....

Was soll ich denn nun lernen ?

Gruss
Toni

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Als Neuling, der das Tutorial von Ch. Schifferle "Programmierung der
>AVR-Microcontroller mit C" durcharbeitet, aber so ziemlich ....

Dieses Tutorial ist eben veraltet und und beschreibt nicht nicht den
aktuellen AVR-GCC Compiler.
Deshalb besser Jörgs AVRlibc Manual durcharbeiten.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, 's ist nicht nur von mir, auch wenn ich einen guten Teil davon
geschrieben habe...  Die anderen Entwickler der avr-libc haben da
ebenfalls mehr oder minder große Stücke beigetragen.  Nicht zu
vergessen, daß ein Teil davon auf Arbeiten von Harald Kipp (inline
assembler tutorial) und Rich Neswold (Installationsanleitung,
ursprüngliches avr-libc Manual) basiert.

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.