www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio include Dateien einbinden


Autor: Fabian Stohr (phoenix69)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

bitte nicht lachen, aber ich bin ein absoluter Neuling auf diesem 
Gebiet. Aber vielleicht kann mir jemand hier helfen mein Problem zu 
lösen.

Ich will für einen Atmel 2560 ein Programm für eine H-Brücke erstellen 
um einen Geleichstrommotor (Rechts/Linkslauf) usw. anzusteuern.

Und benutze zum programmieren das AVR Studio.

Ok mein Problem:

Das Programm hier ist der absolute 1.Versuch!

Kann mir jemand sagen wie ich die include Dateien "richtig" einbinden 
muß?


Fehlercode siehe unten!





#include <reg515.h>
#include <stdio.h>

sbit rechts=PINA0;      //Pin A.0=Taster rechts
sbit links=PINA1;    //Pin A.1=Taster links
sbit auto=PINA2;    //Pin A.2=Taster Automatik
sbit hand=PINA3;    //Pin A.3=Taster Handbetrieb
sbit winkel=PINA4;       //Pin A.3=Taster Winkelautomatik

sbit igbtrechts=DDRB0;  //Pin B.0=Ausgang IGBT Rechts
sbit igbtlinks=DDRB1;    //Pin B.1=Ausgang IGBT Links
sbit ledrechts=DDRB2;    //Pin B.2=Ausgang LED Rechtslauf
sbit ledlinks=DDRB3;    //Pin B.3=Ausgang LED Linkslauf
sbit ledhand=DDRB4;    //Pin B.4=Ausgang LED Handbetrieb
sbit ledauto=DDRB5;    //Pin B.5=Ausgang LED Automatikbetrieb
sbit ledwinkel=DDRB6;    //Pin B.6=Ausgang LED Winkelautomatik

int i,x,y;


void main (void)
{

while((auto==0)&&(winkel==0))
{
ledhand=1;
  while(rechts==1)
  {
  igbtrechts=1;
  ledrechts=1;
    for(i=0,i<27000,i++)
    {
    }
  igbtrechts=0;
  ledrechts=0;
    for(x=0,X<10000,x++)
    {
    }
  }
  while(links==1)
  {
  igbtlinks=1;
  ledlinks=1;
    for(i=0,i<27000,i++)
    {
    }
  igbtlinks=0;
  ledlinks=0;
    for(x=0,X<10000,x++)
    {
    }
  }
}

C:\Usersversuch.asm(1): error: Cannot find include file: reg515.h
C:\Usersversuch.asm(2): error: Cannot find include file: stdio.h

C:\Users\versuch.asm(5): error: sbit: Unknown instruction or macro
C:\Users\versuch.asm(5): error: rechts: Unknown instruction or macro
C:\Users\versuch.asm(5): error: syntax error, unexpected '='

Autor: Stefan M. (celmascant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiss zwar nicht WAS du da einbinden willst, aber evtl. sind die 
Dateinamen falsch geschrieben oder die Files nicht im richtigen Ordner?

In den Zeilen nach den Includes weis ich ehrlich gesagt nicht, was du 
bezweckst. Schau am besten mal in das Tutorial:
Für Assembler: http://www.mikrocontroller.net/articles/AVR-Tutorial
Für den Rest^^: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Ich programmiere in Assembler und habe mir 95% aus dem Tutorial 
rauslesen können. Die restlichen 5% waren einfach logische Fehler 
mangels Erfahrung...

Gruss Stefan

Autor: Sebastian S. (sts301)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> int i,x,y;
[..]
>     for(x=0,X<10000,x++) //das x bei x<10000 gehört klein geschrieben
>     for(x=0,X<10000,x++) //deto

2. ich halte es so für sinvoller

for (int x oder i = 0; x oder i < Zahl; x oder i ++);

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fabian Stohr schrieb:

> C:\Usersversuch.asm(1): error: Cannot find include file: reg515.h
                  ****

Wieso gibst du einer C-Datei die Endung asm?

Kann gut sein, dass der Compiler sich die Endung ansieht, entscheidet, 
dass das eine Assemblerdatei sein soll und daher die Includes auf dem 
Verzeichnis für Assembler-Dateien sucht. Die restlichen Fehlermeldungen 
sprechen auf jeden Fall für diese Theorie.

Nenn C Quellcode Dateien auch *.c
Dann hast du weniger Probleme.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>C:\Usersversuch.asm(1): error: Cannot find include file: reg515.h

reg515.h sieht nach einem 8051 kompatiblem
Controller aus ;) Das ist beim AVRStudio wohl nicht so
das richtige.

>sbit rechts=PINA0;      //Pin A.0=Taster rechts

sbit kennt Winavr z.B. auch nicht. Das kenn ich auch wieder
nur von 8051ern. Wo kommt denn der Quellcode her?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.