Guten Morgen zusammen... Ich habe ein kleines Problem mit meinem Tiny13P... Und zwar sieht die Sache so aus: Angefangen zu Programmieren habe ich mit Bascom. Dort habe ich ein einfaches Lauflicht programmiert und dies funktionierte nach dem Flashen auch so, wie man es erwartet. Doch jetzt bin ich zu AVRStudio5 gewechselt, weil ich plane auch andere Chips zu nutzen mit mehr als 4kb Speicher (begrenzung in Bascom). Den Lauflichtcode habe ich also im Studio neu geschrieben. Funktioniert auch tadellos. Jedoch macht mir eine Kleinigkeit Sorgen... 5V beziehe ich via USB-Adapter von meinem Computer. Plus und Minus gehen auf mein Steckbrett mit der Schaltung. Die 4 LEDs für das Lauflicht sind an PB1 - PB4 (PB4 = LED1 -> PB1 = LED4) mit der Anode gesteckt. Kathode geht folglich auf Minus. Zwischen Plus und Minus des Tinys ist ein 100n Kondensator. Pin8 und Pin1 des Tinys sind auch verbunden. Minus des Tinys ist NICHT angeschlossen, Plus schon. Die 4 LEDs leuchten minimal. Das Programm des Tinys läuft nicht. BOD ist auf 4,xV eingestellt. PB0 ist als Eingang definiert, Pull-Up Widerstand ist an auf PB0. dran hängt ein Taster der gegen GND zieht. Drücke ich diesen Taster blinken die LEDs gleichzeitig im Takt. Stecke ich den Minus vom USB dazu, läuft alles wunderbar. Nun stellt sich mir die Frage ob das an meinem Steckbrett liegt, am USB->Steckbrett"adapter", am Programm auf dem Tiny oder ob das "normal" ist. einige weitere Infos zum Programm: #ifndef F_CPU #define F_CPU 1000000UL //CPU-Takt setzen (1MHZ) #endif #include <avr/io.h> //standart #include <util/delay.h> //_delay_ms(x) Funktion nutzen void sleep(uint16_t ms) { //--------------- for (; ms>0; ms--) _delay_ms(1); //Sleep-Funktion } //--------------- void rundlicht() { //--------------- PORTB = 0b00010001; //LED1 an sleep(200); //warte DELAY ab PORTB = 0b00001001; //LED2 an sleep(200); //warte DELAY ab PORTB = 0b00000101; //LED3 an sleep(200); //warte DELAY ab PORTB = 0b00000011; //LED4 an sleep(200); //warte DELAY ab } int main(void) { DDRB = 0b00011110; PORTB = 0b00000001; sleep(100); //Pull-Up setzen lassen while (1) { rundlicht(); } }
Florian schrieb: > Minus des Tinys ist NICHT angeschlossen Das dürfte das eigentliche Problem sein. Normalerweise müssen alle Minusanschlüsse miteinander verbunden sein. Ein Schaltplan dürfte weitaus leichter zur Klärung beitragen.
Florian schrieb: > Nun stellt sich mir die Frage ob das an meinem Steckbrett liegt, am > USB->Steckbrett"adapter", am Programm auf dem Tiny oder ob das "normal" > ist. Was ist normal? Daß es ohne Minus nicht läuft? Was erwartest du denn? Natürlich ist das normal. mfg.
Florian schrieb: > So leuchten die LEDs minimal Das kommt weil dein Programmer an den Ports hängt und der Strom sozusagen seinen Weg zu GND darüber findet. Deswegen glimmen die Leds. mfg.
Programmer ist nicht mit angeschlossen... ich muss den Tiny immer hin und her stecken :P
Florian schrieb: > Programmer ist nicht mit angeschlossen... ich muss den Tiny immer hin > und her stecken :P An deinem Controller hängt Plus. Da GND nicht angeschlossen ist, verhält der sich jetzt wie ein Vorwiderstand für die Leds, die an den Ports und mit der anderen Seite an Gnd liegen. Dann fliesst ein kleiner Stom, der die Leds glimmen lässt. mfg.
Nochn zusatz: Grade rausgefunden dass alle LEDs zusammen leuchten wenn ich 5V an PB0 lege ... sollte auch nicht so sein oder`?
Florian schrieb: > Grade rausgefunden dass alle LEDs zusammen leuchten wenn ich 5V an PB0 > lege ... sollte auch nicht so sein oder`? Jetzt hör auf da sinnlos mit rumzuspielen. Es werden Plus und GND angeschlossen und dann funktioniert es. Basta. Irgendwelche Pins nicht anzuschliessen und sich dann darüber zu wundern, was gerade passiert, wenn man hier oder da mit irgendeinem Potential rangeht, ist einfach nur Blödsinn. Und ja, es liegt an der internen Beschaltung der Ports, die Überspannung über Dioden ableiten. Das ist kein Phänomen. Siehe Datenblatt "IO-Ports". mfg.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.