Forum: Compiler & IDEs Programm Problem ATmega32


von saschisch (Gast)


Lesenswert?

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/iom32.h>

#define SYSCLK 3686400
#define Preclk 3600
#define LEDS_DDR DDRC
#define LEDS_PORT PORTC
int i=0;
void delay_ms(unsigned int ms);
signal (SIG_OUTPUT_COMPARE0 )
  {

  PORTC=~PORTC;
  delay_ms(10);

  }

void delay_ms(unsigned int ms)
{
  unsigned int zaehler;

  while (ms)
  {
    zaehler = SYSCLK / 3686.4;

    while (zaehler)
    {
      asm volatile ("nop");
      zaehler--;
    }
    ms--;
  }
}
int main(void)
{

  //PortC wird als AUsgang definiert
  LEDS_DDR = 0xFF;

  //PortC wird auf o gesetzt
  //PORTC=0xFF;

  //Interrupts enablen
  sei();

  //Output compare match interrupt enable
  timer_enable_int (1<<OCIE0);

  //Output Compare Register setzen
  OCR0=0xF0;//240

  //Timer starten Vorteiler 1024
  TCCR0=(1<<WGM01)|(1<<CS00)|(1<<CS02);


  //Endloschleife
  for(;;)
  {
    /*if(TCNT0==0xEF)
      {

      if(PINC==0x10)
        {

        PORTC=0x08;
        delay_ms(100);
        }
      else
        {

        PORTC=0x10;
        delay_ms(100);}
      }
      */
  }



}

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


Lesenswert?

Lass mich über dein Problem raten.  Es ist:

[ ] Du kannst dich nicht ausdrücken und konntest daher nicht
    beschreiben, was dein Fehlerbild überhaupt ist.

[ ] Du weißt gar nicht, ob es ein Fehlerbild gibt.

[ ] Du kannst mit den Compilerwarnungen nichts anfangen.

[ ] Du hast die Compilerwarnungen abgeschaltet.

[ ] Du weißt nicht, dass in C signal() und SIGNAL() zwei verschiedene
    Bezeichner sind.

[ ] Du hast die Dokumentation zu <avr/delay.h> (oder jetzt
    <util/delay.h>) noch nicht gelesen und weißt daher nicht, dass
    es _delay_ms() bereits gibt.

[ ] Du hast die Doku überhaupt noch nicht gelesen.

Zutreffendes bitte ankreuzen.

von Rolf Magnus (Gast)


Lesenswert?

@Jörg: Lass mich über dein Problem raten. Es ist:

[ ] Du bist mit dem falschen Fuß aufgestanden.

[ ] Du hast deine Medikamente nicht genommen.

[ ] Du hast heute versehentlich eine Datei gelöscht, an der du sehr
    lange gearbeitet hattest und von der du kein Backup hast.

[ ] Du hast ein sehr teures Bauteil verpolt und dieses ist den Weg
    allen Irdischen (... und zu Asche wirst du werden...) gegangen.

[ ] Dir hat einer den Wagen zerkratzt.

[ ] Dein Hartz IV wurde gestrichen.

Zutreffendes bitte ankreuzen.

von saschisch (Gast)


Lesenswert?

Danke

@Jörg:

Punkt 5 trifft zu, und du bist unfreundlich

@Rolf:

einfach nur DANKE

von Elektrikser (Gast)


Lesenswert?

Naja, saschisch,
einfach den Code reinstellen ohne eine Frage, ist auch nicht gerade
freundlich...

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


Lesenswert?

Ich denke, dass mindestens Punkt 3, 5 und 6 zutreffen.

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.