mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATtiny 15 funktioniert nicht !!


Autor: Futurwave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe bisher noch nie mit AVR's gearbeitet sondern Hauptsächlich
mit 8051 bzw. C515C....und bin nun etwas ratlos...

Ich Programmiere mit ICCtiny in C. Um den uC einmal zu testen wollte
ich nur ein einfaches Programm verwenden.

#include <iotiny15.h>

void main()
{
   unsigned int i,j;
   DDRB = 0xFF;
   while (1)
   {
PORTB ^= 0x0F;
 for (j=0;j<5;j++)      //delay
   for (i=0;i<6658;i++)
      ;
   }
}

Dieses habe ich bevor ich es auf den uC geflasht habe im AVRStudio
erfolgreich getestet.(Port's werden ein und ausgeschaltet..)

Den chip habe ich dann mit TwinAVR beschrieben und den Flash inhalt
überprüft...soweit so gut.

Wenn ich nun jedoch Spannung an den uC anlege passiert rein
garnicht's! Die Pins bleiben tristate soweit ich dass beurteilen kann

...warum startet der uC nicht ??
..müssen irgendwelch fuse bit's gesetztt werden ???
.oder was muss ich noch beachten.
...kann der uC defekt sein und doch richtig geflasht werden??

Ich hoffe es kann mir jm. helfen..

Autor: josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm statt deiner Delay-Routine lieber eine vorgefertigte. zB delay_ms
(100)

SG Josef

Autor: Futurwave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die vorgefertigte routine gib es bei ICCtiny nicht...
und avr-gcc unterstützt soweit mir bekannt nur AVR's mit SRAM.

doch sollte mein Problem nicht an den beiden for schleifen hängen...,
wie gesagt im SImulator läuft das Programm ohne Fehlermeldungen.

Autor: Christian Zietz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Misst Du am Port evtl. ca. die halbe Betriebsspannung? Es kann sein,
dass der Compiler die leere Warteschleife einfach wegoptimiert und die
Portpins so schnell toggeln, dass Dein Messgerät nicht mehr mitkommt.
Wie Du die Optimierung Deines Compilers allgemein oder für speziell für
diese Schleife ausschaltest, musst Du in der Doku nachlesen. Evtl. hilft
ein
volatile unsigned int i,j;

Christian

Autor: Futurwave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
leider Messe ich an den pins ... gegen Masse nichts,
aber bei 12V gegen Pins messe ich noch ~~5V...

?? ok ..werde mal das delay weg lassen und nur den Port definiert
schalten...

Autor: josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehlermeldungen im Simulator ....?

Autor: Futurwave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also habe es jetzt noch mal mit asembler versucht !!

-> Programm gleich wie oben nur ohne "delay"....
schält also nur die PIN's....
..im Simulator (AVRStudio) werden die PIN's eingeschaltet (bei C und
asm).

Nur auf dem realen chip passiert nicht's....

vielleicht mache ich ja irgend einen Fehler(??)...
-Hex File auf den Tiny flashen...überprüfen...
-vom Paralelport trennen
-Versorgungsspannung anlegen
-Pins messen


Ich werd noch wahnsinnig !!! wenns nicht klappt nehm ich halt für zwei
Schalter und zwei Lampen nen Viel zu großen 8051 ...der Funktioniert
wenigstens un macht keine zicken...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast aber schon bedacht, daß die Resetpolarität andersrum ist, als
beim 8051 ?


Peter

Autor: Futurwave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... gegenfrage ...den Reset brauch ich doch nicht ....laut Datenblatt
gibt's power on reset...

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst Reset über 5k...10k an Vcc legen. Sonst wird datt nix...

...

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Power On Reset funktioniert aber nur, wenn VCC ganz schnell und von

0V und ohne Unterbrechung hochläuft.

Ansonsten mußt Du noch den Brown-Out aktivieren.


Ich hab spaßeshalber mal die Resetflags über LEDs ausgegeben.
Das Power-On Reset kam ganz selten, nur das Brown-Out-Reset hat
wirklich funktioniert.



Peter

Autor: Adrian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte mal genau das selbe mit dem MSP430. im simulator gings auch
einwandfrei.

nach langem (wirklich langem) raetseln habe ich mir mal ein Beispiel
von TI vorgenommen, und bin drauf gekommen dass es funktioniert, sobald
man den watchdog ausschaltet.

adrian

Autor: Futurwave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...danke an alle....
...wer lesen kann ist mal wieder klar im Vorteil....!!

..dass der Reset an VCC muss, hatte ich total übersehen...

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.