Forum: Compiler & IDEs Port auf Masse legen


von Thomas (Gast)


Lesenswert?

Hallo Leute,

wie schreibt man ein Programm in C das mir
den Port PC1 auf Masse legt?

Gibt es bereits irgendwo
eine fertige delay-Funktion?

Thomas

von Florian Pfanner (Gast)


Lesenswert?

Ich kann leider noch keine funktionierende Glaskugel und kann nicht
riechen was für einen Compiler oder welcher Mikrocontroller du
verwendest.
Also schreib erst mal ein Paar genauere Informationen in deine Fragen
und du erhälst sinnvollere Antworten!

Gruß, Florian

von Peter D. (peda)


Lesenswert?

"wie schreibt man ein Programm in C das mir
den Port PC1 auf Masse legt?"

PC1=0;


"Gibt es bereits irgendwo
eine fertige delay-Funktion?"

Viele Compiler enthalten sowas. Ist natürlich nicht sonderlich genau,
wird ja auch in der Regel nur dazu benutzt irgendwelche Minimalzeiten
(z.B. Pulsbreiten) zu garantieren.

Von sehr großen Delays (>10ms) ist abzuraten, sie behindern zu sehr den
Programmfluß, d.h. solche Programmer sind später nicht oder nur schwer
erweiterbar.


Peter

von Thomas (Gast)


Lesenswert?

Sorry, ich benutze WinAVR.
Möchte die Pins PC0 bis PC2 meines
ATmega32 auf Masse legen, schreibt man
das so?
Zumindest wirds compiliert.

#include <avr/io.h>

int main(void)
{
  //Ausgang
  DDRC = 0x0F;

  //HIGH setzen
  PORTC = 0x0F;

return 0;
}

Flash ich dieses Programm
auf den Controller passiert
überhaupt nix. Gibt da noch
etwas das ich einstellen
oder setzen muß?

Tom

von Peter D. (peda)


Lesenswert?

"...auf Masse legen...//HIGH setzen..."

was denn nun ?

Entscheide Dich.

Außerdem: main-Loop vergessen.


Peter

von Thomas (Gast)


Lesenswert?

Kommentar HIGH war Schrott, sorry aber
bin Anfänger.
Hab das Programm jetzt folgendermaßen
geändert. Ist das korrekt?


#include <avr/io.h>

 int main(void)
 {

 //Ausgang
  DDRC = 0x0F;

  while(1)
  {
  //Low setzen
        PORTC = 0x00;
  }
  return 0;
 }

Nach dem flashen liegt jetzt allerdings
nur PC1 auf Masse! Muss man jeden Port
einzeln setzen? Mit der Zuweisung PC0 = 0
kann ich aber nicht compilieren.

Tom

von Joerg Wunsch (Gast)


Lesenswert?

FAQ beachten:

http://savannah.nongnu.org/download/avr-libc/doc/avr-libc-user-manual/FAQ.html#faq_fuses

Die JTAG-Sache dürfte auch für Deinen ATmega32 relevant sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.