www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ultimative Anfängerfrage AVR ATTiny13


Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...und hier ist sie:
Ich bin ganz neu auf dem Gebiet der AVR Mikrocontroller. Habe zwar schon 
längere Zeit PICs programmiert, aber nun gut...Problem ist folgendes:
Eigentlich soll dieses Programm lediglich alle PINS output schalten und 
dann PIN 5,3,1 auf high schalten. Klappt aber irgendwie nicht...Warum?
#include <avr/io.h> 

int main (void)
{
DDRB = 0b00000000;
PORTB = 0b00101010;
start:
goto start;
}

Ich benutze AVR-Studio und WinAVR.
Bin für jede Hilfe dankbar
Inox5

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DDRx: 1 = Output

Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oO peinlich, hatte ich doch gerade erst das Tourtial gelesen....hm ich 
bin zu müde morgen wird es besser gehen, Danke Stefan.

Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich habe nun das Programm verändert, aber es funktioniert immer noch 
nicht.
Ich müsste mit meinem Programm doch alle PINs auf Output und alle Pins 
auf high haben, aber auch im Simulator findet keine Veränderung der 
Register statt. Ich weiß im Moment nicht woran es liegen könnte...
#include <avr/io.h> 

int main (void)
{
DDRB  = 0b00111111;
PORTB = 0b00111111;
start:
goto start;
}

Danke für jede Hilfe.
Inox5

Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss man RESET immer auf 5V ziehen?

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Muss man RESET immer auf 5V ziehen?
Ja, wenigstens über einen Pullup-Widerstand....
Ausser, Du hast den Resetpin per FUSES wegdefiniert.

Buchstabiere mal D_A_T_E_N_B_L_A_T_T ...

Jochen Müller

Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D_A_T_E_N_B_L_A_T_T_ Jo hab jenes eben auch gerade konsultiert und habe 
dies gelesen. Nun funktioniert auch mein Code. An welch kleinen Dingen, 
sowas schon hätte scheitern können. Danke.
Warum funktioniert es aber eigentlich nicht im Simulator?

Inox5

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
brrr goto und Labels in C
#include <avr/io.h> 

int main (void)
{
   DDRB  = 0b00111111; //eigentlich auch unschön...versteht nicht jeder Compiler
   PORTB = 0b00111111;

   for(;;)
   {}

}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.