[AVR-GCC] Fehler oder Dummheit?

OP (Firma: No RISC, no fun.) #2104491
Lesenswert?
• ▲
▼
Ich bin dabei mir nen DMX-Decoder zu schreiben und im URAT-Interrupt 
produziert der Gcc reproduzierbar einen Fehler indem er Variablen 
übergeht:
Auszug aus main.c:
1
  ISR(USART_RXC_vect){
2
  uint8_t info = UCSRA; //Infos zu den Daten -> Zwischenspeicher
3
  uint8_t datatemp = UDR; //angekommene Daten -> Zwischenspeicher
4

5
  if((info & 1<<FE)&(datatemp==0)){
6
    recBuf[1]=255;
7
  }
8
  else recBuf[1]=0;
9

10
}
wird zu:
Auszug aus lss Datei:
1
0000007c <__vector_11>:
2
  7c:  1f 92         push  r1
3
  7e:  0f 92         push  r0
4
  80:  0f b6         in  r0, 0x3f  ; 63
5
  82:  0f 92         push  r0
6
  84:  11 24         eor  r1, r1
7
  86:  8f 93         push  r24
8
  88:  8b b1         in  r24, 0x0b  ; 11
9
  8a:  8c b1         in  r24, 0x0c  ; 12
10
  8c:  10 92 63 00   sts  0x0063, r1
11
  90:  8f 91         pop  r24
12
  92:  0f 90         pop  r0
13
  94:  0f be         out  0x3f, r0  ; 63
14
  96:  0f 90         pop  r0
15
  98:  1f 90         pop  r1
16
  9a:  18 95         reti

bei 88 und 8a liest er die beiden Usart register ein, aber eben in das 
gleiche Register :/ ...

Eckdaten:
IDE = Eclipse helios
AVR-GCC = 4.3.5
EDIT: AVR = MEGA8

Aufruf (aus dem makefile):

avr-gcc -Wl,-Map,DMX_to_IR.map -mmcu=atmega8 -o"DMX_to_IR.elf" $(OBJS) 
$(USER_OBJS) $(LIBS)
OP (Firma: No RISC, no fun.) #2104511
Lesenswert?
• ▲
▼
LOL, jetz liest in 24 und 25 :D
Ich war so doof !!
danke...

PS: Ihr du hast mich grade vor einer peinlichkeit gerettet (ich hatte 
die mail and den gcc-support schon fast fertig geschreiben)

edit: FE = FramingError = bit in UCSRA

thus spoke the basicer: "never copy an expression from another language" 
(oder so ähnlich), man merkt halt ich bin noch von Bascom verdorben...

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.