Forum: Compiler & IDEs ISR Problem mit AVR Studio6


von Robert T. (Firma: Thormann) (robertthormann)


Lesenswert?

Hallo!
Benötige hilfe bei einem Problem mit dem AVR Studio6.

Ich verwende einen TINY40 und versuche TIM1_COMPB Interrupt auszulösen
jedoch bekomme ich, egal welche ISR ich in den Code schreibe immer den 
Compiler fehler "register not supported". Wenn cih das ganze mit AVR 
Studio5 kompiliere wirft das Studio keinen Fehler und der code 
funktioniert.
Um der Frage auszuweichen warum ich nicht Studio5 verwende: bei Studio 5 
kann ich beim TINY40 keine globalen Variablen nutzen, und das sollte 
angeblcih bei Studio 6 funktionieren.

CODE:

/*
 * UWTasterbox3.c
 *
 * Created: 02.07.2012 08:45:47
 *  Author: robert.thormann
 */

#define    F_CPU 3686400   // Taktfrequenz des myAVR-Boards
#include <avr/io.h>
#include   <inttypes.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdint.h>


volatile int16_t millisekunden;
volatile int8_t sekunde;
volatile int8_t minute;
volatile int8_t stunde;


ISR(TIM1_COMPB_vect)
{
    if(millisekunden == 1000)
    {
      sekunde = sekunde + 1;
      millisekunden = 0;
      if(sekunde == 60)
      {
        minute++;
        sekunde = 0;
      }
      if(minute == 60)
      {
        stunde++;
        minute = 0;
      }
      if(stunde == 24)
      {
        stunde = 0;
      }
    }
}

ISR(PCINT1_vect) //ISR Kommt wenn irgendein Taster gedrückt ist

{

}

int main(void)
{

  DDRA=0b11111000;
  DDRB=0b00000000;
  DDRC &= ~ ((1<<PC0) | (1<<PC1) | (1<<PC2));
  PCMSK1 |= ((1<<PCINT8)|(1<<PCINT9)|(1<<PCINT10)|(1<<PCINT11)); //Pins 
B0-B3 für Pin change interrupt in Maske 1 setzen
  GIMSK |= (1<<PCIE1);
  // Timer 0 konfigurieren
  TCCR1A = 0b000011011;
  TIMSK =  0b00010000; //Timer output compare  enable
  OCR1A =  0b00001010;  // auf 10 laden
  sei();



    while(1)
    {
        //TODO:: Please write your application code
    }
}

LG Robert

von Tom M. (Gast)


Lesenswert?

Robert Thormann schrieb:
> TINY40

attiny40? wird der von der avr-libc unterstützt?

http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html

Offenbar nicht -> Problem. :(

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Robert Thormann schrieb:
> immer den
> Compiler fehler "register not supported".

Die Erweiterungen für die ATtiny10-Serie sind bislang komplett privat
von Atmel.  Sie haben ihre Patches dafür weder irgendwie in Richtung
binutils, GCC und avr-libc weitergereicht noch sich sonst irgendwie
um eine Kooperation bemüht.

Daher musst du dich mit allen auftretenden Problemen an
<avr -at- atmel -punkt- com> wenden.

von Mathias (Gast)


Lesenswert?

Hallo,

bin auf das selbe Problem gestoßen.

Gibt es inzwischen schon eine Lösung dafür?

Alternative müsste ich mir sonst die IAR Kickstarter Edition 
installieren...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mathias schrieb:
> Gibt es inzwischen schon eine Lösung dafür?

Frag' doch bitte Atmel.  Wenn keiner diejenigen fragt, die die ganzen
Fehler da fabriziert haben, woher sollen die dann wissen, dass es
damit massive Probleme gibt?

von Mathias (Gast)


Lesenswert?

Antwort von Atmel:

Dear Customer,

Thank you for contacting Atmel Technical Support.

From the description sent by you, we understand that ATMEL Studio6 is 
causing issue while writing the ISR routines.

To regenerate the issue here, I have tried using the ISR macro, able to 
regenerate the same issue here. Unfortunately, this is a bug in Atmel 
Studio6, and the same will be fixed in future release.

Further to help you, I have tested the ISR routine with the AVR studio 5 
and its working fine, for temporary solution you can use the AVR studio 
5.
The downloadable link is here: 
http://www.atmel.com/tools/STUDIOARCHIVE.aspx

Sorry for the inconvenience caused.

Best Regards,
Vincent Christopher
Atmel Technical Support Team

--------

Wohl auch nicht wirklich eine Lösung, da beim Atmel Studio 5 das Problem 
mit STS/LDS besteht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.