der Befehl PIND ist nicht deklariert? Wo ist der Fehler?

OP #3575280
Lesenswert?

Hallo, hab hier ein kleines Übungsprog. was ich aber nicht Kompilieren 
kann und ich weis nicht wo der Fehler liegt! Ich verwende das 
AtmelStudio 6.1 und als Board ein aTeVal von eHaJo.
hier mal der Code:
1
/*
2
 * TestIOUebung.c
3
 *
4
 * Created: 03.03.2014 14:42:35
5
 *  Author: Fritz
6
 */ 
7

8

9
#include <avr/io.h>
10

11

12
int main(void)
13
{
14
  
15
  
16
  
17
  DDRD = 0b00100000;
18
  
19
  PORTD =0xff;
20
  
21
  
22
  for(;;){
23
    if (!(PIND & (1<<PD2)  ))
24
    {
25
      
26
      PORTB &= ~(1<<PD5);
27
     }
28
     else PORTD |= (1<<PD5);
29
  }
30
}
Als Fehler bekomme ich: Error  1  'PIND' undeclared (first use in this 
function)  C:\Users\Fritz\Documents\Atmel 
Studio\6.1\TestIOUebung\TestIOUebung.c  23  9  TestIOUebung
 Dder Befehl sollte doch vorhanden sein. Hab ich mir versehentlich eine 
Datei geschossen? oder liegtes daran das ich noch andere Software für c 
Programmierung auf dem Rechner installiert hab?
#3575319
Lesenswert?

Fritz schrob:
>Ich werd mal heute Abend das Atmel Studio deinstalieren und dann wieder
>neu draufspielen, mal sehen ob's was bringt.

Nimm lieber die Version 4.19 davon, die funktioniert noch richtig.
Mit der Version 6.1 haben sich schon genug Leute die Schwindsucht
an den Hals geärgert.
:-(
MfG Paul
OP #3575418
Lesenswert?

Glaub ich gern das das nerven kostet! Vor allem für Anfänger!!! Es gibt 
nichts schlimmeres als wenn Beispiele mit irgendwelchen Fehlern 
aufwarten die man noch nicht versteht.
Ich hab es jetzt hinbekommen. Hab AtmelStutio runtergeschmissen und neu 
instaliert und jetzt geht es.
Ich hab noch mal nachgesschaut, im Atmelstudio wird oben rechts 
"Atmega8A" als  chip angezeigt.
Ich bin mal gespannt auf nächste Woche da hab ich nen VHS Kurs 
"Einführung in die Mikrokontroler Technik" mit Atmega8 belegt. Ist zwar 
Assembler aber soll ja auch nicht schaden als Anfänger...
Gast #3575433
Lesenswert?

Fritz Bie schrieb:
> "Einführung in die Mikrokontroler Technik" mit Atmega8 belegt. Ist zwar
> Assembler aber soll ja auch nicht schaden als Anfänger...

Es geht ja auch um die Technik als solche und nicht darum, Programmieren 
zu lernen.
Ist in der Elektroniker-Ausbildung auch so, bisschen in Assembler 
rumprogrammieren um einen Einblick zu bekommen wie so ein Baustein 
funktioniert.

Und das 6er Studio läuft hier einfach.

Fritz Bie schrieb:
> oder liegtes daran das ich noch andere Software für c
> Programmierung auf dem Rechner installiert hab?

Welche? Microsoft Visual Studio?
Das verträgt sich nicht so richtig.
Gast #3575471
Lesenswert?

PIND ist übrigends kein Befehl sondern ein symbolischer Name für einen 
Wert. Die werden in den include files definiert, der Fehler wäre da zu 
suchen gewesen. Das 'avr\io.h' ist ein Sammel-include, das 
prozessorabhängige wird darin über ein #define eingefügt. Und dieses 
#define wird versteckt im Compiler gesetzt, gesteuert über den Schalter 
'-mcu='. Diese Angabe findet man in den Projekteinstellungen und nach 
dem kompilieren im Ausgabefenster, da kann man kontrollieren ob der 
richtige µC drin steht.
Gast #3575527
Lesenswert?

Matthias Sch. schrieb:
> Möchtest du damit sagen, das z.B. VC(#/++) Express 2010 das Atmel Studio
> 6 stören würde?
> Das wäre schlecht und ein Grund, hier Studio 6 nicht zu installieren.

Okay, ich habs oben verallgemeinert, das war nicht korrekt.

Mir hat es mal die Installation vom Atmel Studio zerrissen als ich 
Visual Studio auch noch dazu installiert habe.
Dann kam im Atmel Studio eine merkwürdige Fehlermeldung mit nicht 
vollständig installierten Updates, das ging garnicht mehr.

Den Fehler hast Du ja aber nicht sondern ein Problem mit den Includes.
Gast #3575567
Lesenswert?

Rudolph schrieb:
> Welche? Microsoft Visual Studio?
> Das verträgt sich nicht so richtig.

Komisch, hab Atmel Studio 6.1, Visual Studio 2010 Proffesional, Visual 
Studio 2012 Ultimate, QT, und sonst was alles isntalliert, und das 
verträgt sich alles wunderbar. (Win7 64bit)

Grüße

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren