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

Thema: Problem mit mySmartUSB light, µC macht nix...

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2009
    Beiträge
    12

    Problem mit mySmartUSB light, µC macht nix...

    Anzeige

    Powerstation Test
    hi leute,
    habe mir vor einiger zeit einen neuen Programmer geholt, den mysmartUSB light von myAVR.de, weil mein alter durchgebrannt ist. (verdammtes auf dem Tisch rumliegendes Metall und verdammtes offenes Gehäuse mit ebenso offenen Kontakten )
    Habe die grundschaltung aus dem artikel "AVR-einstieg leicht gemacht" aufgebaut, natürlich ins datenblatt des programmers geschaut und die anschlüsse der hier 6-poligen buchse entsprechend angeschlossen.
    hab also ein einfaches Hello-World Programm:
    Code:
    #include <stdio.h>
    #include <avr/io.h>
    #include <stdint.h>
    #include <avr/wdt.h>
    
    int main() {
        DDRC|=(1<<PC0);
        PORTC|=(1<<PC0);
        wdt_disable();
        int i;
        while(1) {
            PORTC|=(1<<PC0);
            for (i=0;i<=125000l;i++) {}
            PORTC&=~(1<<PC0);
            for (i=0;i<=125000l;i++) {}
        }
        return 1;
    }
    mit [korrekt gepolter, hab ich überprüft] LED an Port C.0 genommen und mit dem auf der website von myAVR kostenlos angebotenen myAVR ProgTool auf den µController geladen. Das programm überprüft es, alles in ordnung.
    hab also den Programmer abgenommen und die stabilisierten 5V angeschlossen.
    keine reaktion seitens des controllers. ich hab alle leitungen überprüft, mehrmals den reset pin auf GND gelegt, aber nichts...
    hättet ihr vielleicht irgendwelche ideen woran das liegen könnte? ich bin ahnungslos

    EDIT: ist übrigens der atmega32, hab auch schon einen von denen dazu gebracht, nicht mehr zu antworten, nur weil ich ihm beibringen wollte, auf 16MHz zu laufen... war die option
    Code:
    Ext. Crystal/Resonator High Freq; Start-up time 16K CK + 64 ms
    mit dem LowFuse=xx111111 vielleicht falsch?

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    29
    Beiträge
    656
    Welchen Programmer benutzt du? Das beim AVR Studio enthaltene AVR Prog oder irgendeinen Programmer von myAVR?

    Überprüfe mit der Verify-Funktion deines Programmers, ob das Programm richtig übertragen wurde.

    Außerdem reicht es, wenn du die avr/io.h einbindest, den Rest brauchst du nicht. wdt_disable(); auch nicht. Du kannst für Wartezeiten aber wenn du util/delay.h einbindest und F_CPU (Controllertakt in Herz) definierst die Funktion _delay_ms(x) verwenden.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2009
    Beiträge
    12
    wie gesagt, ich benutze "myAVR Prog Tool" (auch nur, weil ich avrdude nicht für den ISP-progger aufsetzen konnte... is an sich STK500v2, aber mit avrdude hab ich auch nach entsprechendem eintrag in der conf file immer nur nen timeout gekriegt^^)
    wdt_disable() dachte ich damit er keinen reset macht nach n paar millisekunden, oder hab ich da was falsch verstanden?
    aber danke für das mit delay

    ich glaube er macht n automatischen verify, sicher bin ich mir aber nich... hat zu anfang auch n paar mal funktioniert, da hing dann aber die LED auf einem zustand fest (ohne zu blinken), dem, den sie zuerst laut programm annehmen sollte...

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    29
    Beiträge
    656
    ich vermute stark, dass dein µC aus irgendeinem grund kaputt ist (evtl. verfused?) wenn du nur timeouts bekommst und er nicht antwortet.

    Lade dir mal AVR Studio herunter (wenn du dir auch noch das Plugin WinAVR herunterlädst, kannst du mit ihm auch C Programme schreiben). Dort kannst du im Menü Tools -> AVR Prog... einen kleinen Programmer aufrufen. Stelle bei ihm unter Device AtMega16 (wenn du mit der Einstellung AtMega32 arbeitest und Fuses setzt kann es sein dass er aufgrund eines Bugs falsche Fuses setzt und dein µC deswegen kaputt geht) ein. Anschließend kannst du unter Advanced Fuses setzen. Erscheint bei Signature: 0x000000 oder 0xFFFFFF reagiert der Controller nicht und ist wahrscheinlich kaputt. Deaktiviere außerdem (falls gesetzt) das Häkchen bei JTAG Enable (auch ein häufiger Anfängerfehler). Schreibe anschließend die Fuses mit write. Der Takt sollte auf ext. Crystal high frequency für externen Takt eingestelt sein.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2009
    Beiträge
    12
    danke leute!

    ja, den ersten hab ich wohl verfused, probier ich später nochmal, ob das wirklich der fall ist...
    ich hab ja ber zum glück drei stück hier, einer von denen ist ganz neu, und mit dem hats geklappt... ich glaub das myAVR programm is einfach nur mist
    die led blinkt jetzt, d.h. ich hoff mal ich kann mich jetzt komplexeren sachen zuwenden.

    danke übrigens für den verweis auf AVRstudio, wusste nicht dass das tatsächlich so gut ist. übrigens sollte mal jemand im Wiki ein GCC+AVR-einsteiger tutorial machen, so wie das für BASCOM. Basic ist schließlich doch etwas merkwürdig wenn man noch nie damit gearbeitet hat, und C ist allgemein bekannt...

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad