Forum: Mikrocontroller und Digitale Elektronik Problem mit ATtiny2313


von chaki (Gast)


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!

von MeinerEiner (Gast)


Lesenswert?

Wie ist das Ding denn angeschlossen (Schaltplan)?

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

von chaki (Gast)


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...

von Hannes Lux (Gast)


Lesenswert?

> PORTB=0xff;

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

...

von Gast (Gast)


Lesenswert?


von chaki (Gast)


Lesenswert?

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

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

von Hannes Lux (Gast)


Lesenswert?

Dann entschuldige bitte, dass ich helfen wollte.

...

von chaki (Gast)


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

von Wayne M. (vibra)


Lesenswert?

Der ATmega wird für deine Augen etwas zu schnell sein, bau da mal ein 
delay ein , damit du auch was sehen kannst.
1
#include <avr/io.h>
2
#ifndef F_CPU
3
#define F_CPU 8000000UL /* Quarz/InternerOz mit ,,Mhz */
4
#endif
5
6
#include <util/delay.h> /* definiert _delay_ms() ab avr-libc Version 1.2.0 */
7
8
9
int main (void)
10
{
11
  DDRB=0xFF;
12
13
  while(1)
14
  {
15
    PORTB=0xff; 
16
  _delay_ms(500); // delay 500 ms
17
18
  PORTB=0x00; 
19
   _delay_ms(500); // delay 500 ms
20
21
  }
22
}

von chaki (Gast)


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?

von Stefan E. (sternst)


Lesenswert?

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

von chaki (Gast)


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

von Andreas K. (derandi)


Lesenswert?

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

von Stefan E. (sternst)


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)

von chaki (Gast)


Lesenswert?

Ah cool.

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.