Fehler in iom16a.h?

Gast #2270298
Lesenswert?

In der avr-libc 1.6.8 gibt es eine Header Datei für den ATmega16A. Darin 
wurden anscheinend einige Verbesserungen vorgenommen und Altlasten über 
Bord geworfen.

Allerdings scheinen sich auch Fehler eingeschlichen zu haben. Zum 
Beispiel fehlen bei einigen IRQ Vektoren Unterstriche im Namen, zum 
Beispiel USARTRXC_vect statt USART_RXC_vect

Außerdem sind einzelne Bits im UDR definiert, UDR0, UDR1 usw. Aber da 
für andere Controller UDR0 für das gesamte Register definiert ist gibt 
es da Probleme. Man sollte auf die Bit Definitionen ganz verzichten oder 
die Bezeichnung zumindest in UDR_0 ändern.

Überhaupt gibt es zum Beispiel für manche Interrupt Vectoren vier 
unterschiedliche Varianten. Eine würde reichen, zwei wären noch 
nachvollziehbar. Aber vier?

USART0_RX_vect
USART_RX_vect
USARTRXC_vect
USART_RXC_vect
#2270934
Lesenswert?

So, mal angemeldet


Ok, erledigt. Ich hoffe, ich hab es richtig gemacht. Ich kenne mich auf 
der Plattform nämlich nicht aus und ich mag sie auch nicht sonderlich. 
Außerdem ist mein englisch für sowas etwas holprig. Hoffe, die 
verstehen, was ich meine.

Warum wurden in der Header Datei eigentlich für alle einzelnen Bits 
jetzt Namen vergeben? Die einzelnen Bits in UDR wird man wohl nur 
äußerst selten verwenden.
Gast #2272781
Lesenswert?

Markus B. schrieb:
> Warum wurden in der Header Datei eigentlich für alle einzelnen Bits
> jetzt Namen vergeben? Die einzelnen Bits in UDR wird man wohl nur
> äußerst selten verwenden.

Vermutlich, weil das so in den XML-Files von Atmel drin steht (z.B. 
ATmega16A.xml):
1
      <UDR>
2
        <IO_ADDR>0x0C</IO_ADDR>
3
        <MEM_ADDR>0x2C</MEM_ADDR>
4
        <UDR0_MASK>0x01</UDR0_MASK>
5
        <UDR1_MASK>0x02</UDR1_MASK>
6
        <UDR2_MASK>0x04</UDR2_MASK>
7
        <UDR3_MASK>0x08</UDR3_MASK>
8
        <UDR4_MASK>0x10</UDR4_MASK>
9
        <UDR5_MASK>0x20</UDR5_MASK>
10
        <UDR6_MASK>0x40</UDR6_MASK>
11
        <UDR7_MASK>0x80</UDR7_MASK>
12
      </UDR>
Die Headerfiles werden wohl mehr oder weniger automatisch aus den XMLs 
generiert. Da Atmel sich aber öfter mal neue Schreibweisen einfallen 
läßt, gibts da halt gelegentllich Problem. Genaueres kann Dir sicher 
Jörg Wunsch sagen, wenn er mal hier vorbei kommt.

CU

PS: Da Du es vergessen hast, hier noch der Link zum Bugreport:
http://savannah.nongnu.org/bugs/?33799

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