Forum: Mikrocontroller und Digitale Elektronik mit F_CPU aussperren?


von SplendidBlade (Gast)


Lesenswert?

hoi hab gerade das beispielprogramm:
#include <avr/io.h>
#ifndef F_CPU
/* wenn F_CPU nicht bereits vorher definiert (z.B. durch
   Übergabe als Parameter zum Compiler innerhalb des Makefiles) */
#define F_CPU 3686400UL     /* Quarz mit 3.6864 Mhz */
#endif
#include <util/delay.h>     /* in älteren avr-libc Versionen 
<avr/delay.h> */

int main(void)
{
    unsigned char i;

    DDRB = (1<<PB0);          // PB0 an PORTB als Ausgang setzen

    while(1)                  // Für immer
    {
        PORTB ^= (1 << PB0);  // Toggle PB0 z.B. angeschlossene LED


        for (i=1; i<=16; i++)
            _delay_ms(62.5);
    }

    return 0;
}

aus dem tutorial auf meinen atmega 16 gezogen
jetzt blinkt er zwar aber ich kann nicht mehr darauf zugreifen....
ich habe einen quarzoszilator 8 MHz angeschlossen
kann das an der anderen Freuqenz bei F_CPU liegen die ich nicht 
umgestellt hab?ich habs dann auf 8 MHz gestellt wobei ich merkte dass er 
nicht mnehr reagiert...

von Christian (Gast)


Lesenswert?

Nö, F_CPU dient nur zur korrekten Einstellung von _delay_ms. Du kannst 
Dich damit nicht aussperren. Fuses verstellt? Lockbits verstellt? 
(Letzteres lässt sich mit einem "Chip Erase" wieder beheben.)

von SplendidBlade (Gast)


Lesenswert?

ich hab nur das programm rübergezogen...
dabei kann ich ja die fuses nicht verstellen....
und wie sollte ich chip erase machen wenn ich nicht zugreifen kann?
avrdude sagt avrdevice not responding als ob nichts angeschlossen 
wäre....

von SplendidBlade (Gast)


Lesenswert?

hoi
hab die led mal abgeklemmt und nun gings ohne probleme .
warum stört eine angeschlossene led das programmieren?

von Stefan W. (wswbln)


Lesenswert?

...wo hängt die LED denn dran?
Wenn es einer der Programmier-Pins ist: die Programmer haben auch nur 
eine endliche Treiberleistung und irgendwann werden die Flanken der 
Signal halt etwas zu "rund" und/oder die Pegel zu schwach.

von Tim (Gast)


Lesenswert?

Wenn du nen Programmierer mit eingebauten Schutzwiederständen hast hast 
du damit praktisch nen Spannungsteiler gebaut (Schutzwiederstand - 
Diode). Ich weiß nicht genau wie dus verschaltet hast.

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.