mikrocontroller.net

Forum: Compiler & IDEs mega128 will nicht!!


Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

vielleicht kann mir einer einen Tipp geben! Ich habe mir ein STK501 mit
dem Mega128 bestellt. Dies habe ich in Betrieb genommen. Vielleich mal
kurz den Code:

int main (void)
{

  DDRA = output;
  DDRB = output;
  DDRD = input;
  PORTD = pull_up;

  SFIOR &= (1<<PUD);

  uint8_t i, sinus, x;

  while (1)
  {
    if(!(PIND & (1<<PD0)))
    {
      _delay_ms(10);

      PORTB ^= (1<<PB0);
    }
  }
}

Der Controller schaltet aber den ganzen Port auf high und alle LED's
auf dem STK500- Board gehen an!!! Was mache ich falsch??????

Gruß
Benjamin

Autor: Fasti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Wenn ich mich nicht recht irre muss es heißen:

PORTB |=(1<<PB0)


ciao

Fasti

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist schon ganz richtig so!!

ich will den pin togglen lassen!!!

Gruß
Benjamin

Autor: Preben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hello Benjamin

You are not using the same port you are using port d and b :-)

Try this simpler one:

while( 1 )
{
  if( PINB & (1<<PB0) )
  {
    PORTB &= ~(1<<PB0);
  }
  else
  {
    PORTB |= (1<<PB0);
  }
  _delay_ms(10);
}

p.s I can not use PORTB ^= (1<<PB0) under gcc compiler;

Preben

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> SFIOR &= (1<<PUD);
Was soll das bewirken? Du löschst damit alle Bits im SFIOR bis auf das
PUD...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da der Code oben bei weitem nicht vollständig ist, kann man da nicht
mehr zu sagen. Es könnte immerhin sein, dass irgendwoanders im Programm
am Port B rumgefummelt wird. Warum schickst Du nicht gleich den
kompletten Code (aber bitte als Anhang und in einem Format, das jeder
problemlos lesen kann!)

@Preben:
> You are not using the same port you are using port d and b :-)
Yes, of course. He uses PortD as input and PortB as output...

> I can not use PORTB ^= (1<<PB0) under gcc compiler
Then there's something wrong with your gcc or (rather) with your
program...

Autor: Benjamin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So jetzt habe ich mal meine Datei mit WinRAR gepackt und angehängt!!

I try to zip the hole project with WinRAR, so you can use all of the
sorce!!

If there are any questions, please let me know!!

Best Regards
Benjamin

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar, und das kann jeder lesen... Ich glaub Du willst gar nicht, dass
man Dir hilft. Warum schickst Du es nicht direkt als Textdatei? Ne
Datei von der Größe packen ist echt unsinnig, gell?

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.