C-Problem mit ATmega 32

Gast #4914736
Lesenswert?

Hallo zusammen,
ich bin derzeit dabei, mich in die C-Materie einzuarbeiten, und möchte 
als erstes einfach nur einen einzelnen Pin auf high schalten, um die 
daran angeschlossene LED zum leuchten zu bringen. Mein Programmcode dazu 
sieht wie folgt aus:

/*
 * Test.c
 *
 * Created: 24.02.2017 11:18:27
 * Author : Felix
 */

#include <avr/io.h>


int main(void)
{
    DDRA = 0xFF;
    PORTA = (1<<PA7);
    while (1)
    {
    }
    return 0;
}

Ich benutze Atmel Studio 7.0 . Möchte ich nun das Programm auf meinen 
ATmega32 überspielen, erhalte ich folgende Fehlermeldung:
"Failed to launch program. Error: Failed to start programming session 
before chip erase with eeprom preserve:Failed to enter programming mode. 
ispEnterProgMode: Error status received: Got 0xc0, expected 0x00 
(Command has failed to execute on the tool)"

Mein Programmieradapter ist der AVRISP mk2. Habe diesen in den 
Einstellungen auch ausgewählt, sowie den Takt variiert, das Ergebnis 
bleibt jedoch das gleiche. Spannungsversorgung am µC ist vorhanden, 
Treiber sind aktuell.
Bin aktuell ziemlich ratlos, habt ihr Ideen, wie ich das zum laufen 
bekomme?

LG Felix
Gast #4914739
Lesenswert?

Rate mal, welche Info fehlt.
Bedenke, dass wir keine Hellseher sind.
Was ist wohl die Sprache der Elektronik?
Kleiner Tip: Strickmuster sind es nicht, aber etwas ähnliches.
Außerdem hat es vermutlich einen Grund, warum jedes Smartphone eine 
kamera enthält.
Du schaffst das schon.
Gast #4914936
Lesenswert?

> Und was soll die Diode?

Die beschleunigt das Entladen des Kondensators, damit der Reset 
ordentlich erzeugt wird, wenn man die Spannungsversorgung nur ganz kurz 
aus und dann wieder einschaltet.

Ich halte die Diode allerdings für unnötig, da erstens der Kondensator 
relativ klein ist und zweitens der AVR ohenhin intern einen Reset macht.

Wenn der Kondensator 100µF hätte, würde ich die Diode emüpfehlen.
Gast #4914948
Lesenswert?

Brummbär schrieb:
> Was ist das ein Konstrukt, einen 330 Ohm Widerstand zu
> überbrücken?

Exakt, auf dem PCB kann ich dann einfach die Leiterbahn wegkratzen und 
einen Widerstand auflöten, sobald ich da einen Widerstand einsetzen 
möchte.

Habe mich bei den Schaltungen an die Empfehlungen von Atmel gehalten:
http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf
(Firma: CvO Universität) #4915540
Lesenswert?

Karl M. schrieb:
> Super Felix!
>
> wie geht es bei Dir nun weiter ?
>
> Welche Sprache wirst Du lernen und nach welcher Methode ?
>
> verfelixt schrieb:
>> Arduinoquäler schrieb:
>>> Du hast am ISP Stecker MOSI und MISO vertauscht.
>>
>> Das war es tatsächlich, danke für die Hilfe :)
>>
>> LG Felix

C - ich "kann" bereits das Arduino-C++ und möchte jetzt eine vollwertige 
Programmiersprache lernen.
Gast #4915577
Lesenswert?

Felix S. schrieb:
> C - ich "kann" bereits das Arduino-C++

Nein. Wenn du "Arduino kannst", dann konntest du das Arduino
API erfolgreich verwenden/anwenden. Irgendwelche C++ Programmierung
(ausser die Verwendung von vorhandenen Klassen) hast du
deshalb noch nicht gemacht - aller Warscheinlichkeit nach.

Felix S. schrieb:
> und möchte jetzt eine vollwertige Programmiersprache lernen.

C++ ist eine vollwertige Programmiersprache. Ebenso wie C.
Das Arduino Framework ist keine Programmiersprache.

Fange klein an und versuche eines der Tutorials dieser Seite
hier durchzuarbeiten.
(Firma: CvO Universität) #4915907
Lesenswert?

Arduinoquäler schrieb:
> Nein. Wenn du "Arduino kannst", dann konntest du das Arduino
> API erfolgreich verwenden/anwenden. Irgendwelche C++ Programmierung
> (ausser die Verwendung von vorhandenen Klassen) hast du
> deshalb noch nicht gemacht - aller Warscheinlichkeit nach.
>
> C++ ist eine vollwertige Programmiersprache. Ebenso wie C.
> Das Arduino Framework ist keine Programmiersprache.
>
> Fange klein an und versuche eines der Tutorials dieser Seite
> hier durchzuarbeiten.

Und wo habe ich bitte etwas anderes geschrieben?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren