www.mikrocontroller.net

Forum: Compiler & IDEs Simulation ok, Atmega führt Anweisung nicht aus


Autor: Hennig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ein Problem beim Flashen des ATmega 8. Verwende AVR Studio 4.13 
mit SP1, AVR gcc Plugin und Win AVR neuste Version. AVR Studio kann das 
Programm, mit einer Switch Anweisung und Portabfrage, ohne Problem 
simuliert und die notwendige hex-Datei erzeugen. Zum flashen des ATmega 
8 verwende ich Pony Prog2000. Die Anweisungen wie while (1) und for - 
Schleifen werden vom ATmega korrekt ausgeführt. Als Header Datei habe 
ich  im Programm die stdlib.h und io.h eingebunden.

Ich danke euch im voraus....


mfg.
Hennig

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was genau ist jetzt Dein Problem? Oder hab ich das einfach 
überlesen? Der Quellcode wär auch nicht schlecht.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Simulation ok, Atmega führt Anweisung nicht aus
...
> Die Anweisungen wie while (1) und for -
> Schleifen werden vom ATmega korrekt ausgeführt
Das ist ein Widerspruch. Bitte erzähl mal, was Du wirklich machst und 
was wirklich das Problem ist. Und ohne Dein Programm zu sehen, kann 
man da gar nichts zu sagen!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Hennig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ein Problem beim Flashen des ATmega 8. Verwende AVR Studio 4.13
mit SP1, AVR gcc Plugin und Win AVR neuste Version. AVR Studio kann das
Programm, mit einer Switch Anweisung und Portabfrage, ohne Problem
simuliert und die notwendige hex-Datei erzeugen. Zum flashen des ATmega
8 verwende ich Pony Prog2000. Die Anweisungen wie while (1) und for -
Schleifen werden vom ATmega korrekt ausgeführt. Als Header Datei habe
ich  im Programm die stdlib.h und io.h eingebunden. !! Programmiere nur 
im AVR Studio.

Programm:
#include <io.h>              //Standardinclude
#include <stdlib.h>
#include <stddef.h>
#include <stdint.h>



int main (void)
{

   //Variablen Vereinbarung

  unsigned char x=0,b;
  unsigned int a;

  //Ports Richtungen

  DDRC=(0<<PC0|0<<PC1|0<<PC2|0<<PC3|0<<PC4|0<<PC5|0<<PC6);

  DDRD=(1<<PD0);
while(1)
{
  switch(PINC)
  {

  case 1:
  {  x=1^x;
    PORTD=x;
      for(a=0;a<30000;a++)
        {
          for(b=0;b<2;b++);
        }
  }break;

  case 2:PORTD=0xff;break;

  default: break;
  }

}
   //return 0;
}




Ich danke euch im voraus....


mfg.
Hennig

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Anweisungen wie while (1) und for - Schleifen werden vom ATmega korrekt 
ausgeführt.

Und was funktioniert denn jetzt nicht? Deine Problembeschreibung ist 
immer noch unverständlich.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme mal an, Du willst PortD als Ausgang und PortC als Eingang, 
oder? Dann würd ich das so machen:
DDRC = 0x00;
DDRD = 0xff;

Oder was willst Du mit Deinem Code genau erreichen?

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder so:
DDRC &= ~((1<<PC0) | (1<<PC1) | (1<<PC2) | (1<<PC3) | (1<<PC4) | (1<<PC5) | (1<<PC6));
DDRD |= (1<<PD0) | (1<<PD1) | (1<<PD2) | (1<<PD3) | (1<<PD4) | (1<<PD5) | (1<<PD6) | (1<<PD7);

Ich glaub nicht, dass das funktioniert, was Du da machen willst.

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, er schreibt doch, das er ein Problem beim flashen hat. Das geht 
leider in dem Wust von Infos unter.
Welche Hardware benutzt du denn zum flashen? Wie äußert sich der Fehler 
(außer das der Code anschließend nicht läuft)? Gibts Fehlermeldungen von 
Ponyprog?

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

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe ein Problem beim Flashen des ATmega 8. ...
> Die Anweisungen wie while (1) und for -
> Schleifen werden vom ATmega korrekt ausgeführt.

Worin besteht denn jetzt das Problem?

Hast du Probleme beim flashen (also beim transferieren des
Programmes in den AVR)?
Oder hast du Probleme mit dem Programm an sich?

Beides sind 2 paar Schuhe und haben nichts miteinander zu tun?

PS: es bringt nichts eine Fehlerbeschreibung einfach zu wiederholen.
Wenn sie beim ersten mal keiner verstanden hat, dann versteht sie
auch jetzt keiner.

Autor: Hennig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es werden keine switch Anweisungen mit Portabfrage ausgeführt aber 
richtig simuliert im AVR Studio. Wer programmiert alleine nur mit AVR 
Studion und plug in? Das Programm funktioniert habe es simuliert.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du Dir denn mal genau überlegt, ob die case-Werte (1 und 2) 
stimmen? Hast Du da Taster dran? Sind die Low- oder High-active? Pull-up 
Widerstände?

Beschreib doch mal, was Du mit Deinem Programm bezwecken willst.

Autor: Hennig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist ok hat sich erledigt

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was wars?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hennig wrote:
> Es werden keine switch Anweisungen mit Portabfrage ausgeführt aber
> richtig simuliert im AVR Studio.

Sind die beiden Eingabegeräte (Taster?, Schalter?) an PORTC richtig 
angeschlossen?

Ist das Ausgabegerät (LED?) an PORTD richtig angeschlossen?

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.