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
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
"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
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
"...auf Masse legen...//HIGH setzen..." was denn nun ? Entscheide Dich. Außerdem: main-Loop vergessen. Peter
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.