Forum: Mikrocontroller und Digitale Elektronik IAR AVR Anfängerprob


von Herb B. (s-stoerung)


Lesenswert?

Hallo

ich mache gerade die ersten Schritte mit IAR und hab das Tutorial soweit 
durch.... Aber die Probleme fangen mit eine selbst erstellten Projekt 
erst an.

Schon beim initialisieren bekomme ich eine Fehlermeldungen...

Programm Minimalbeispiel:
1
#include<stdlib.h>
2
#include<intrinsics.h>
3
#include<ioavr.h>
4
5
6
void main ( void )
7
{
8
                                                     
9
  
10
   DDRA  = 0U; PORTA = 0xF8U;                          
11
   DDRB  = 0U; PORTB = 0xFFU;                           
12
   DDRC  = 0U; PORTC = 0xFFU;                        
13
   DDRD  = 0U; PORTD = 0xFFU;                        
14
   DDRE  = 0U; PORTE = 0xFFU;                        
15
   DDRF  = 0U; PORTF = 0xFFU;                           
16
   DDRG  = 0U; PORTG = 0xFFU;                                                                           
17
18
19
   MCUCR = 0;                                                                  
20
21
   TCCR0A = (1<<WGM01)|(1<<CS02)|(0<<CS01)|(1<<CS00);                          
22
   OCR0A  = FOSC *10 / 1024;                                                    
23
   TIMSK0 = (1<<OCIE0A);          
24
   
25
   
26
  __enable_interrupt(); 
27
  
28
  while(1)
29
  {}  
30
    
31
}

Fehlermeldungen:

main.c
Error[Pe020]: identifier "WGM01" is undefined C:\Dokumente und 
Einstellungen\p.braun\Eigene Dateien\IAR Embedded 
Workbench\avr\Projekt1\main.c 37
Error[Pe020]: identifier "CS02" is undefined C:\Dokumente und 
Einstellungen\p.braun\Eigene Dateien\IAR Embedded 
Workbench\avr\Projekt1\main.c 37
Error[Pe020]: identifier "CS01" is undefined C:\Dokumente und 
Einstellungen\p.braun\Eigene Dateien\IAR Embedded 
Workbench\avr\Projekt1\main.c 37
Error[Pe020]: identifier "CS00" is undefined C:\Dokumente und 
Einstellungen\p.braun\Eigene Dateien\IAR Embedded 
Workbench\avr\Projekt1\main.c 37
Error[Pe020]: identifier "FOSC" is undefined C:\Dokumente und 
Einstellungen\p.braun\Eigene Dateien\IAR Embedded 
Workbench\avr\Projekt1\main.c 38
Error[Pe020]: identifier "OCIE0A" is undefined C:\Dokumente und 
Einstellungen\p.braun\Eigene Dateien\IAR Embedded 
Workbench\avr\Projekt1\main.c 39
Error while running C/C++ Compiler
Done. 6 error(s), 0 warning(s)

Hmm, das muss was triviales sein... ich habe ein Brett vorm Kopf. Der 
kennt irgendwie die Timer Register nicht...

Schonmal Danke und nicht auslachen bitte

von Kalli L. (knl)


Lesenswert?

Hallo,
es muss irgendwo definiert sein, welchen Controller du benutzt,
damit in die ioavr.h die richtigen Register einbindet.
Hast du den richtigen Controller ausgewählt?

von soundso (Gast)


Lesenswert?

im Optionen Menu unter System
gibts ganz unten ein hacken:
"Enable bit definition in I/O Include Files" oder so ...
sollte nebst dem richtigen Prozessor und der Zeile:
#include <iomxxx.h>
auch vorhanden sein

von s-stoerung (Gast)


Lesenswert?

Super!

ganz dickes Danke... das Häckchen für die Bit definitions hat mich zum 
Ziel gebracht. Trotz des Tutorials usw.... bin ich da nicht hingekommen. 
Kommt noch :)

Greetz

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.