ATtiny 15 funktioniert nicht !!

Gast #145724
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..
Gast #145726
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.
Gast #145727
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
Gast #145730
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...
Gast #145734
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
Gast #145735
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren