Atmel Studio 7.0 einbinden von avr/io.h klappt nicht

OP #4724951
Hallo an Alle :)

ich benutze Windows 10 und einen Atmega8 16-PU mit einem ISP Programmer 
der als STK500 Programmer erkannt wird. Die Übertragung funktioniert 
soweit auch.

ich habe "normal" die Bib avr/io.h eingebunden (code folgt) zudem habe 
ich delay.h eingebunden. wenn ich auf delay.h klicke zeigt er mir oben 
in der Leiste den ganzen Pfad an, bei io.h tut er es nicht, zudem kann 
ich mit "goto Implementation" nicht zu der Bib kommen.
ich denke das sie so in Wirklichkeit garnicht eingebunden ist und habe 
dann immer avr/iom8.h extra nochmal eingebunden.

(habe geprüfugt ob die datein alle existieren und das tun sie)

habe nun gesehen das in der VA View neben io.h (unresolved) steht
nach etwas suche habe ich dieses hier gefunden:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Mor Shuk wrote on Fri, 13 April 2012 01:50

is there any chance you could give me a more detailed intruction on how 
to do this?! cause im trying and jut cant get it done...(working eclipse 
on ubuntu 11.10)

- Open Project Properties->C/C++ Build->Environment
- click Select.. and choose LANG
- use empty value for LANG
- repeat above step for LANGUAGE
- repeat above step for LC_ALL but use the value en_GB.UTF-8

Rebuild project and index
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

ich verstehe aber nicht wirklich was ich tun soll? es scheint ja die 
sprache irgendwie falsch eingstellt zu sein... meinen die einen ordner 
im explorer oder ist das im atmel studio zu ändern? jemand schon 
erfahrung hiermit gemacht ?

(ich bin etechnik student im 2ten Semester wir haben leider 
Mikrokontroller noch nicht behandelt :D )
Vielen Dank und Liebe Grüße
OP
also ich hatte folgendes Programm geschrieben das so auch funktionierte:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
/*
 * Test1.c
 *
 * Created: 22.08.2016 21:54:36
 * Author : kennis
 */
#define F_CPU 1000000UL
#include <avr/io.h>
//#include <C:/Program Files 
(x86)/Atmel/Studio/7.0/toolchain/avr8/avr8-gnu-toolchain/avr/include/avr 
/io.h>
#include <stdint.h>  // Standard Datentypen einbinden
#include <kennis.h>  // funktion Siebensegment
#include <util/delay.h>
#include <avr/interrupt.h>

uint8_t isa;
uint8_t zeitzaehler = 0;
uint8_t zeitzaehler2 = 0;

int main(void)
{

  DDRD = (1 << DDD0) | (1 << DDD1) | (1 << DDD2) | (1 << DDD3) | (1 << 
DDD4) | (1 << DDD5) | (1 << DDD6) | (1 << DDD7);



  PORTC = (1 << DDC6) | (1 << DDC5) | (1 << DDC4) | (1 << DDC3) | (1 << 
DDC2);
        // Alle Eingänge am PortC mit PullUp Widerstand schalten


  TCCR0 = (1<<CS02);

  // Overflow Interrupt erlauben
  TIMSK |= (1<<TOIE0);

  // Global Interrupts aktivieren
  sei();


    /* Replace with your application code */
    while (1)
    {
    if (zeitzaehler>10)
    {
      zeitzaehler2++;
      zeitzaehler = 0;
    }
    if(zeitzaehler2>9) zeitzaehler2=0;
    isa = zeitzaehler2;
    PORTD = siebensegment(isa);

  }



  }

  ISR (TIMER0_OVF_vect)
  {
    zeitzaehler++;

  }
 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Hier hatte ich nun delay.h nicht benutzt. delay.h funktionierte nämlich 
leider nicht. ich habe da den Zusammenhang zu der fehlenden 
Initialisierung von io.h gezogen
Gast
Kennis B. schrieb:
> die funktion _delay_ms hat nichts gemacht das programm ist da einfach
> gestoppt und ging nicht weiter... obwohl die F_CPU definiert war.
merkwürdig, gab es eine Warnung beim build?

> ist es denn normal das er bei io.h den Pfad nicht anzeigt?
keine Ahnung, hat mich noch nie interessiert. Sollte aber keine Rolle 
spielen, weil das nur das Studio betrifft.
Gast
Kennis B. schrieb:
> die funktion _delay_ms hat nichts gemacht das programm ist da einfach
> gestoppt und ging nicht weiter... obwohl die F_CPU definiert war.

Nachtrag:

Hast du wirklich lange genug gewartet? Die Simulation ist nicht in 
Echtzeit. Und wenn du keine Optimierung aktiviert hast dauert es noch 
länger.
OP
leider gab es weder eine Fehler noch eine Warn meldung

Nachtrag:
habe nun mal folgenden code getestet:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
/*
 * 16bit timer.c
 *
 * Created: 19.09.2016 12:34:36
 * Author : kennis
 */

#define F_CPU 1000000UL
#include <avr/io.h>
#include <kennis.h>  // funktion Siebensegment
#include <util/delay.h>

int main(void)
{

DDRD = (1 << DDD0) | (1 << DDD1) | (1 << DDD2) | (1 << DDD3) |  (1 << 
DDD4) | (1 << DDD5) | (1 << DDD6) | (1 << DDD7);



PORTC = (1 << DDC6) | (1 << DDC5) | (1 << DDC4) | (1 << DDC3) | (1 << 
DDC2);
        // Alle Eingänge am PortC mit PullUp   Widerstand schalten

  while(1)
  {
    PORTD = 0xff;
    _delay_ms(1000);
    PORTD = 0x00;
  }

}


<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

das müsste doch funktionieren oder nicht?

Nachtrag Nachtrag: alle Leds gehen an und nicht wieder aus am Port D
OP
oh Gott peinlich:D das funktioniert nun, tut mir leid :D

ich finde es immer noch komisch das er mir den Pfad nicht anzeigt aber 
solange es funktioniert ist ja alles gut.
vielen Dank für eure schnelle Hilfe :)

(hatte in C programmierung nur ne 2,7 :D )

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.