www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmage8 LSD blinkt nicht


Autor: kijiji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..
Ich bin halt anfänger und kenne mich nicht so gut mit dem sache(meine 
deutsche sprache ist auch nicht so toll  bitte um verständnes)
ich benutze Atmage8
folgnede program soll dem LED auf PORTB 10 mal blinken lassen ,falls ich 
dem 5v von dem PC0 wegnehme es funktoniert aber nicht wenn ich dem 
programm auf dem Atmega 8 programiere dann blinkt dem LED auf PORTB 10 
mal und dann reagiert nicht mehr



#include <avr/io.h>
#include <stdint.h>
#include <avr/io.h>
#include <util/delay.h>


int main (void)
{
  DDRD  = 0X03;
  PORTD = 0x00;
  DDRB  = 0xff;                                       // (3)
  PORTB = 0x03;
        DDRC  = 0X00;
  PORTC = 0x00;                                      // (4)

  while(1)
        {
          if (PC0 <((1024.0/5.0)*3))
             {
          for(int n = 0; n < 10; ++n)
    {                                          //
            PORTD ^= ( 1 << PD1 );                //
            _delay_ms(500);
            PORTD ^= ( 1 << PD1 );
            _delay_ms(500);
              }
    }

return 0;
        }
}

Autor: Frank L. (hermastersvoice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LSD blinken lassen? Endlich mal was Neues!!!!!

Autor: kijiji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LED meine ich

Autor: Ekschperde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einrückungen beeindrucken den (C-)Compiler überhaupt nicht.
Der guckt nur nach { und der dazugehörigen }.
Und da hapert es scheinbar.

Autor: kijiji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also hat jemand ein idea .was  ich machen kann??

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abfragen des Pins:

if ( !(PINC & (1<<PINC0)) )

setzten und umsetzten des Ausgangs:

PORTD != ( 1 << PD1 );
_delay_ms(500);
PORTD &= ~( 1 << PD1 );
_delay_ms(500);

steht alles hier:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
du sprichst davon an PORTB ne LED blinken zu lassen und wurstelst in 
deinem Code an PORTD rum ! Was denn nun ?
PORTD ist bei dir Eingang (0x00) das kann ja gar nicht gehen.

Gruß

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo verschrieben es heißt:
PORTD |= ( 1 << PD1 );

nicht mit "!" sondern mit "|"

Autor: Gs Scarnight (gs-scarnight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Zeile

if (PC0 <((1024.0/5.0)*3))

macht auch keinen Sinn, da PC0 eine Konstante ist und damit die Prüfung 
entweder stets erfüllt ist, oder eben nicht.... Hier ist sie immer 
erfüllt, da PC0==0 ist..

Achja und dein return 0; steht in der while-Schleife, damit ist es keine 
Endlosschleife (die sie wohl sein sollte....).

Autor: kijiji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab schon bemerkt danke
ich arbeite schon daran . ich hoffe klappt es

Autor: Bastian Nagel (slime2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist ein Atmage?

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.