Tutorial?

Gast #40273
Lesenswert?

Hallo!

Kurze frage gibts sowas wie ein Tutorial (am Besten auf Deutsch) in dem 
steht was ich bei der C Programmierung voN AVR´s tippen muss aldso C 
Grundlagen hab ich aber wie weiß ich was die Ports für bezeichnungen 
haben und welche sonderfunktionen es gibt und co???

MFG

Maruu
Gast #40275
Lesenswert?

@Christian
Wieso schreibst du dein Tutorial nicht auf die neue avr-gcc Syntax um ?
z.B:
PORTB = 0x1b; anstelle outp (0x1b, PORTB);

Auch ist bei C-Programmen Konvention dass bei Include Files immer ein 
'/' bei Unterverzeichnissen verwendet wird, unabhängig vom verwendeten 
Betriebssystem.
z.B #include <avr/io.h>
Gast #40277
Lesenswert?

@Peter

Leider habe ich nicht genug Zeit, um das Tutorial bei jeder neu heraus 
gekommenen Compilerversion wieder umzuschreiben. Ich denke aber, dass 
jeder, der sich ein wenig mit der Materie befasst, in der Lage sein 
wird, die Eigenheiten der neuen Version mit zu berücksichtigen.

Das mit PORTB = xxx finde ich persönlich eine unsaubere Art der 
Programmierung. Meiner Meinung nach sollten direkte Hardwarezugriffe 
möglichst vermieden werden, auch wenn C einen fast dazu verleitet. Soll 
das Programm später mal auf eine andere Prozessorfamilie angepasst 
werden hat man mit Funktionsaufrufen wesentlich weniger Aufwand beim 
Portieren.
Aber letzlich soll das jeder so machen wie er es mag.

Freundliche Grüsse von Schweizer zu Schweizer :-)
Christian

P.S.: Ich werde nächstens mal versuchen, deine I2C-Library anzuwenden, 
um einen Temparatursensor auszuwerten. Wünsch mir Glück.
Gast #40278
Lesenswert?

Du brauchst das Tutorial nicht ,,bei jeder neu herauskommenden
Version'' umzuschreiben.  Die jetzige Infrastruktur wird bleiben,
outb() & Co. werden irgendwann dagegen verschwinden.

Bezüglich der Argumentation, die dazu am Ende allgemeinen
Konsens fand, siehe
http://mail.gnu.org/archive/html/avr-libc-dev/2003-05/msg00000.html

Wie gesagt, inb()/outb()/sbi()/cbi() waren Hacks des avr-gcc,
die mal gebraucht worden (weil er es nicht besser konnte), die
aber auf der Abschußliste stehen.  Das heißt nicht, daß sie in
den nächsten Monaten verschwinden werden, aber vielleicht in
zwei Jahren oder so wird es sie nicht mehr geben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren