IO-Port setzten geht nicht

Gast #941156
Hallo zusammen,

ist mir fast peinlich, aber ich stehe ganz am Anfang und komme nicht 
weiter. Habe schon oft erfolgreich AVR´s porgrammiert, aber bei meinem 
jetztigen Projekt muß ich auf einem Auge ganz blind sein. Ich arbeite 
mit neusten Version von AVR Studio (+GCC) und einem STK500. Als MC hält 
ein ATmega88 her. Schon folgender Codeschnipsel tut nicht, was er soll:

#include <avr/io.h>

int main(void)
  {
  DDRB = 0xff;
  PORTB = 0x0f;

  while (1)
    {}

  return 0;
  }

PORTB-Steckleiste auf dem STK500 ist mit der für die Leds verbunden. 
Nach dem Programmieren sollte der MC ja gleich loslegen und einige Leds 
sollten läuchten... Was sehe ich nicht, was ihr seht?

Vielen Dank!
Gast
So, habe jetzt was in die while-Schleife reingeschrieben, macht aber 
keinen unterschied...

#include <avr/io.h>

int main(void)
  {
  DDRB = 0xff;
  PORTB = 0x0f;

  while (1)
    {
    DDRD = 0xff;
    }

  return 0;
  }
Denk dran, dass zumindest die Pins PB7 und PB6 nicht an der PORT 
B-Leiste angeklemmt sind, sondern an der PORTE/Zusatzfunktionen-Leiste 
(XTAL1 und XTAL2). Außerdem sind die LEDs beim STK500 High-Side 
angeschlossen, d.h. eine Null im PORT-Register schaltet die LED ein. 
Nach Deinem Schnipsel oben müssten dann allerdings zumindest die LEDs 
Nr. 5 und 4 leuchten...

Gibt es beim Programmieren keine Fehlermeldungen? Ist der VTarget-Jumper 
gesetzt?
Gast
Nein, beim Compilieren gibt es keine Fehlermeldung und auch keine 
Wahrnung. Der VTarges-Jumper ist gesetzt (sonst könnte ich ihn auch 
nicht über das Board programmieren). Programmieren geht auch ohne 
Probleme. Auch tritt das Problem mit verschiedenen ATMega88 auf.
Gruß und danke!
Gast
mit #include <avr/iom88.h> bekomme ich eine Fehlermeldung: Include 
<avr/io.h> instead of...". In den Projetk-Options ist atmega88 
eingestellt. Und die "Signature" passt auch...
Folgende Frage habe ich mir auch schon gestellt: Hat der uC einen Takt; 
in den Fuses steht er auf int. RC-Osz. mit 8Mhr, CKDIV8 ist an. Außerdem 
könnte ich ihn ohne Takt auch nicht programmieren.
Die Jumper des STK500 haben das <default settint>.
Vielen Dank für eure Unterstützung...
Gast
guten abend zusammen,
hardware o.k., software o.k., benutzer naja...
also ganz einfach, ich habe einfach im programmer-fenster immer eine 
alte hex-datei auf den uc hochgeladen, da ich fälschlicherweise 
instinktiv davon ausgegangen bin, dass immer die hex aus dem aktuellen 
projetk hochgeladen wird. leider ist dem nicht so... soetwas kann schon 
mal 2 tage dauern, bis man darauf kommt :-)
gruß und danke für eure antworten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.