C Mikrocontroller Flashen funktioniert nicht

snepcase

Neues Mitglied
13. Juli 2011
2
0
0
38
Sprachen
Hallo zusammen,

ich bin neu hier in diesem Forum und bin zufällig auf ein paar beiträge gestoßen die allerdings mich nicht meiner Problemlösung näher gebracht haben.
Zu meiner Person erst einmal. Ich bin ein uController Anfänger und benutze STK500 Board. Ich benutze die Entwicklungsumgebung AVR Studio5. Ich habe schon ein wenig C Erfahrung.

Zu meinem Problem:
Ich kann den uController ATMEL8151L bespielen jedoch das Programm nicht abrufen.
Die Flachbandkabenl habe ich wie in der Anleitung beschrieben verdrahtet (siehe Bild).

DSC_0466.jpg

Das Programm ist ein ganz einfaches. Es soll eine Tasterabfrage gestellt werden und die LEDs auf dem Board schalten.

Code:
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{

    PORTD = 0xff ; // Eingang
    PORTB = 0x00 ; // Ausgang
         
    while(1) 
  {
 

        if(bit_is_set(PIND,0)){
            
            PORTB =(1<<0);
        }
        if(bit_is_set(PIND,2)){
            
            PORTB =(2<<2);
        }
        if(bit_is_set(PIND,4)){
            
            PORTB =(1<<4);
        }
        
        PORTB =(1<<6);
        _delay_ms(10);
        PORTB =(0<<6);
        _delay_ms(10);
    }
}
Zu den Fusebits und Lockbits Einstellungen habe ich ein Screenshot gemacht. Ich hoffe Ihr könnt mir sagen ob dies soweit OK ist da ich mit den Einstellungen noch nicht viel anfangen kann. Ich habe nur erkennen das SUT_CKSEL einen Externen Oscilator anspricht. Ich hatte probeweiser dies einmal auf den Integrierten probiert allerdings auch ohne erfolg.

1.JPG
2.JPG


Ich hoffe Ihr könnt mir irgendwelche Tipps geben.

gruß
 

Anhänge

  • 3.jpg
    3.jpg
    115,9 KB · Aufrufe: 5
Hallo snepcase!

Willkommen im AVR-PRAXiS Forum.

Ich habe mir deinen Code angesehen, du möchtest auf PORTB Werte ausgeben, hast aber den Port nicht als Ausgang geschaltet.

DDRB = 0xFF; // alle Portpins sind Ausgang

Nach Reset sind alle Portpins Input (ausgenommen bestimmte Pins wie zum Beispiel JTAG falls vorhanden).

Vielleicht hilft dir das schon mal weiter.

Gruß,
Dirk
 
Danke für die schnelle Antwort!

Ich habe nun das ganze mit den " DDRB = 0xFF; // alle Portpins sind Ausgang" befehl geändert. Allerdings funktioniert es immer noch nicht nicht. Vielleicht habe ich ja irgendwo noch ein paar versteckte fehler die ich übersehen haben.

gruß
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)