- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: Probleme mit AVR ... Help

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585

    Probleme mit AVR ... Help

    Anzeige

    Praxistest und DIY Projekte
    Hallo!
    Mein Programm sieht so aus:

    Config PortB = Output
    PortB.0 = 1

    An PortB.0 hängt eine Led.
    Nun starte ich das Programm und die Led leuchtet. OK

    Das zweite Programm sieht so aus:

    Config PortB = Output
    PortB.0 = 0

    Das Programm wird wieder gestartet doch die Led leuchtet weiterhin!
    Ich verstehe das nicht!
    Wenn ich den ROM wieder lösche, geht die Led aus.
    Also irgendwas mit PortB.0 = 0 stimmt nicht!

    Könnt ihr mir weiterhelfen??

    Und mein zweites Problem ist:
    Ab und zu, wenn die Led leuchtet, also Portb.0 = 1 dann passiert folgendes:

    Die LED fängt nach zufall an zu "!! flackern !!". Sie geht aus, gleich wieder an, wieder aus...
    Ein wackelkontakt ist es nicht, denn ich habe den AVR dann auf einer anderen Platine mit anderer Stromversorgung gehängt, und das selbe Problem!
    Der Ausgang scheint zu variieren, der AVR ist neu!
    Was kann ich tun??

    Bitte helft mir doch, ich kann nicht ruhig schlafen wenn etwas nicht funktioniert
    Also die Profis sind gefragt

    Mit freundlichen Grüßen,
    ShadowPhoenix

  2. #2
    Gast
    Kann es sein das du das JTAG-Fusebit nicht ausgeschaltet hast?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Was ist das JTAG-Fusebit??
    Jedenfalls ist es aus...
    Komisch, kennt sich da keiner aus

    Mit freundlichen Grüßen,
    ShadowPhoenix

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Was ist das JTAG-Fusebit??
    Jedenfalls ist es aus...
    Komisch, kennt sich da keiner aus
    Ich kenn mich leider nicht wirklich damit aus.
    Aber soweit ich weiss, kann man einige AVRs mit einem JTAG-Adapter online debuggen,
    Mit den Fusebits kann man in den Controller einige Dinge konfigurieren, z.B. ob der interne oder ein externer Quarz genutzt werden soll usw.

    Daher würde ich mal vermuten, dass die JTAG-Fusebits dafür da sind dem Controller mitzuteilen, dass irgendwie ein JTAG-Adapter angeschlossen ist.

    Jedenfalls ist es aus...
    Ich bin mir nicht ganz sicher, aber ich meine ich hätte irgendwo mal gelesen, dass Häkchen gesetzt = AUS und kein Häkchen = EIN bedeutet.
    Aber guck da lieber mal in der Beschreibung von dem dem Programm das du zum lesen/setzen der Fusebits benutzt nach.

    Per Fusebits/Lockbits kann man den Controller übrigens auch so sperren, dass man ihn nícht mehr lesen und schreiben kann, deswegen würde ich lieber nicht einfach alle Einstellungen ausprobieren.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    @ShadowPhoenix
    Was ist das überhaupt für ein AVR ?? AT90 oder Mega ??

    Bei den Megas sollte man auf jeden Fall die Fusebytes einstellen bevor man ihn wirklich verwenden kann. Womit programmierst du denn deinen AVR ?? Hast du schon was an den Fusebits geändert ??
    Ansonsten läuft dein AVR mit einer Frequenz von 1 Mhz ( interner Quarz ), aktiviertem JTAG Interface, maximaler Bootloadergröße und längster Start-Up Zeit.

    Trotzdem sollte damit dein Programm funktionieren, da das JTAG-Interface auf PortC liegt.

    Ist das
    Config PortB = Output
    PortB.0 = 1
    dein komplettes Programm ?? Wenn ja solltest du auf jeden Fall noch eine Endlosschleife dahinter hängen. Es ist nämlich nicht so, dass der AVR das Programm beendet wenn er mit dem Code durch ist, sondern versucht weitere Befehle aus dem Speicher zu holen. Das kann dazu führen, dass dein AVR "spinnt".
    Also irgendwie sowas :

    ende:
    goto ende

    MfG Kjion

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Also ich betreibe den ATmega8 (der von yaap auch richtig erkannt wird)
    und verwende einen Quarzoszillator mit 4Mhz, habe die Fusebits auch gemäß microkontroller.net richtig eingestellt.
    Nun habe ich dieses Programm:

    Config Portb = Output
    Portb.0 = 0
    End

    Das ich auf den Chip lade, aber die Led auf Portb.0 leuchtet weiter!!!
    Das kann doch nicht sein!
    Was mache ich falsch?

    Mit freundlichen Grüßen,
    ShadowPhoenix

    EDIT: Beim rüberschicken von dem Programm geht die Led kurz aus und dann gleich wieder an....hmpf

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    15.03.2004
    Ort
    Attnang
    Alter
    47
    Beiträge
    54
    Hallo!
    Kannst du uns mal dein ganzes Programm zeigen?
    MFG Alex

  8. #8
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Probier es mal so

    Config Portb = Output
    Portb.0 = 0
    do
    loop

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Danke für die Tipps
    Es funktioniert jetzt wieder alles!

    Mit freundlichen Grüßen,
    ShadowPhoenix

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen