www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit ATtiny2313


Autor: chaki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Habe leider ein Problem mit der Funktionsfähigkeit eines ATtiny2313.

Nach dem Flashen macht er eigentlich gar nichts.
Habe mal ein ganz einfaches Progrämmchen geschrieben, quasi nur den 
gesamten DDRB=0xff, und alle Ausgänge angesteuert (zum Test auch mal 
negiert).

Ich nutze AVRStudio 4.12;
+
STK500: Flachband von ISP6PIN zu SPROG3; Flachband von PORTB zu LED


Einen anderen µP (2313) zu verwenden hat auch nix gebracht.
Das programmieren selbst, ging auch ohne Fehlermeldung vor sich.

Woran könnte es eurer Meinung nach noch liegen?

Danke für eure Hilfe!

Autor: MeinerEiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ist das Ding denn angeschlossen (Schaltplan)?

Und schreib mal das komplette Programm hier rein, nicht nur die eine 
Zeile.

Autor: chaki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, also den Schaltplan vom STK500 werd ich mir jetzt mal sparen :-)

Der Code lautet:
#include <avr/io.h>

int main (void)
{
  DDRB=0xFF;

  while(1)
  {
    PORTB=0xff;
  }

}

Wie gesagt, nur zum Test, nix großes...

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> PORTB=0xff;

Naja, da wirst Du nicht viel sehen, denn die LEDs vom STK500 sind 
L-aktiv...

...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: chaki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, wie ich schon schrieb (siehe ersten Beitrag), probierte ich schon 
beide Varianten aus.

Was in Klartext heißt: auch PORTB=0x00

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann entschuldige bitte, dass ich helfen wollte.

...

Autor: chaki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das richtete sich wirklich nicht gegen deine Idee oder deinen Gedanken, 
bin für jede Hilfe dankbar. Sorry.
wobei ich aber auch eigentlich nur schrieb, das ich das schon probierte 
- da war nix bös gemeintes dabei.
Aber der nächste anonyme Linkhinweis, hat mich schon ein bissl mehr 
genervt.
 Der ist wohl hier eher nicht notwendig und wenn doch mal eine Angabe 
fehlt, trage ich diese gerne nach...

Also, hoffe auf weitere Möglichkeiten

Autor: Wayne Monga (vibra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ATmega wird für deine Augen etwas zu schnell sein, bau da mal ein 
delay ein , damit du auch was sehen kannst.
#include <avr/io.h>
#ifndef F_CPU
#define F_CPU 8000000UL /* Quarz/InternerOz mit ,,Mhz */
#endif

#include <util/delay.h> /* definiert _delay_ms() ab avr-libc Version 1.2.0 */


int main (void)
{
  DDRB=0xFF;

  while(1)
  {
    PORTB=0xff; 
  _delay_ms(500); // delay 500 ms

  PORTB=0x00; 
   _delay_ms(500); // delay 500 ms

  }
}


Autor: chaki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Funktioniert leider auch nicht.
Habe es erst mit einer eigenen Variante probiert ihn warten zu lassen.
Danach habe ich deinen kompletten Code genommen, jedoch funktionierte es 
damit leider auch nicht.

Frage:
Wenn ich die LED`s ständig einschalte, wie bei der ursprünglichen 
Version (--> also PORTB=0x00;), wieso sollte ich es dann nicht sehen?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Studio den richtigen Controller ausgewählt?
Die richtige Datei geflasht?
Nach dem Flashen mal versuchsweise den Programmierstecker abgezogen?

Autor: chaki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Controller war der richtige ausgewählt, die Datei war auch die richtige.
Den Stecker habe ich nicht abgezogen, hätte ich noch machen können, aber 
war schon zu spät.

Ich weiß nicht was geholfen hat, zumindest habe ich AVRstudio 
geschlossen, neu geöffnet, ein neues Projekt gestartet und folgenden 
CODE verwendet:

#include<avr/io.h>

int main (void)
{
  DDRB=0xFF;
  while (1)
        {
   PORTB=0x0f;
  }
}

Und siehe da es funktioniert plötzlich.
Also, wie auch immer, das Problem hat sich geklärt.

Dabei fiel mir aber noch eine Frage auf, kann es tatsächlich sein, wenn 
ich die Datei avr/delay.h includiere, mein Programm so aufgebläht wird, 
das ein schreiben in den Flash nicht mehr möglich ist?

Danke schon mal für eure Mithilfe

Autor: Andreas K. (derandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
delay.h hatte ich schon öfters in Verwendung, auch auf nem 13er Tiny...

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chaki schrieb:

> Dabei fiel mir aber noch eine Frage auf, kann es tatsächlich sein, wenn
> ich die Datei avr/delay.h includiere, mein Programm so aufgebläht wird,
> das ein schreiben in den Flash nicht mehr möglich ist?

Ja, wenn du ohne Optimierungen kompilierst.
(dann bekommst du aber auch eine Warnung)

Autor: chaki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah cool.

Schon so spät und trotzdem noch was dazu gelernt...

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.