Probleme Atmega 128 Code von IAR nach AVR-Studio

Gast #543043
Lesenswert?
• ▲
▼
Hallo Leute

Habe ein Problem bei der Übertragung eines Atmega128 Projektes vom 
IAR-Compiler nach AVR-Studio. Es handelt sich dabei um folgenden 
Code-Ausschnitt:
1
//**************************************************************************************
2
// USART 0 (DVK) Received Complete Interrupt
3
// Use for RS232 communication
4
//**************************************************************************************
5
#ifdef _IAR_WB
6
  #pragma vector = USART0_RXC_vect
7
  __interrupt void USART0_RXC_interrupt(void)
8
#else  
9
  interrupt [USART0_Receive] void USART0_RXC_interrupt(void) 
10
#endif
11

12
{   
13
   data2pc[ind_tab]=UDR0;
14
    
15
   if(data2pc[ind_tab]=='\r')   //End of Command
16
      ReceivedCMD=1;    
17
   else                         //Next byte
18
   { 
19
      ind_tab++; 
20
   } 
21
}

Bei der #pragma Anweisung handelt es sich ja um eine Compilerspezifische 
Anweisung für den IAR.
Kann mir jemand die genaue Funktion dieser Zeilen erklären?:
1
#ifdef _IAR_WB
2
  #pragma vector = USART0_RXC_vect
3
  __interrupt void USART0_RXC_interrupt(void)
4
#else  
5
  interrupt [USART0_Receive] void USART0_RXC_interrupt(void) 
6
#endif
Wie kann ich dies für AVR-Studio ändern?
Wäre zum Beispiel "ISR(USART0_RX") möglich?

Danke schonmal

Gruß Micha
Gast #543456
Lesenswert?
• ▲
▼
wenn der Kommentar "USART 0 [...] Received Complete Interrupt" stimmt, 
wäre die AVR-GCC 'übersetzung' "ISR(USART0_RX_vect){...}" korrekt - ich 
hab nicht nach der IAR-doku geschaut, ich will aber auch keinen IAR-Code 
übersetzen ;)
Gast #543532
Lesenswert?
• ▲
▼
Wenn ich das richtig interpretiere, dann ist das die ISR für den 
USART0_Receive-Interrupt.


Ich hab jetzt keine Mega128-Docu griffbereit, aber daraus wird im gcc so 
etwas wie

#include <avr/interrupt.h>

ISR(USART0_RX_vect ) // USART0_RX_vect  bitte nochmal überprüfen
{
...
}

Oliver
Gast #543806
Lesenswert?
• ▲
▼
Genau so hab ich mir das auch gedacht.
Leider tut der Quellcode noch nicht so richtig. Aber der Teil kann 
schonmal compiliert werden.
Muss noch paar Fehler finden.

Danke für die Antworten

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.