-
-
Erfahrener Benutzer
Robotik Einstein
Ob der Variable mit "x = test1();" was übergeben wird, hängt davon ab, ob sie einen Rückgabewert hat oder nicht (void). In den Klammern muss dazu nix stehen.
In dem von dir genannten Programm ist der Rückgabewert aber immer 0 (return 0);
-
Erfahrener Benutzer
Roboter-Spezialist
nur damit dir das klar ist, das "x" war nur ein Platzhalter für einen Variablennamen in meiner Erklärung. Du kannst die Zuweisung auch weglassen. Dann brauchst du aber auch keinen Rückgabewert für die Funktion vorzusehen. Deshalb der Vorschlag von mir mit void f(void)
Zu deiner Frage bezüglich x und den Parametern (Übergabeparameter) sag ich nochmal, lies mal ein bisschen in C Tutorials über Funktionen.
http://openbook.galileocomputing.de/...0027691F03218C
hab ich gerade zufällig gefunden
Viel Spass beim lernen und gewöhne dir an den Code etwas mehr zu formatieren. zB durch einrücken mit tab
sast
-
Neuer Benutzer
Öfters hier
Hallo sast,
ich wälze mich durch die Literatur von C -- und das dauert. Danke für deinen Link!! Der fehlte mir noch. Habe nach einem solchen Link gesucht.
Eure Tipps haben mich wieder ein Stück weiter gebracht.
Eine Sache habe ich aber mit dem Setzen von DDRA0 noch nicht geschnallt:
Ich habe DDRA0 auf Ausgang gesetzt. Wenn PORTA0 ein HIGH sieht, wird PINA0 auf High gesetzt. Alles o.k.
Wenn aber DDRA0 auf Eingang gesetzt wird und man legt hardwaremässig 5V an PORTA0 , dann liest der PINA0 diesen Zustand nicht ein, oder? Im Simulator kann man das sehen. Somit reagiert doch mein Programm nicht auf einen HIGH-Pegel an PORTA0. Oder bin ich da auf dem falschen Dampfer?
Ich will doch diesen PORTA0 überwachen, was von aussen reinkommt.
-
Erfahrener Benutzer
Roboter-Spezialist
Wenn du den Port als Input setzt und ihn mit VCC auf 5V ziehst, kannst du so oft 5V anlegen wie du willst, da ändert sich nichts. Nicht destotrotz kannst du die ganze Zeit den Pegel des Ports auslesen. Bringt bloß nicht viel.
Wenn du in dieser Konstellation eine Änderung haben willst, musst du den Eingang auf Masse ziehen. Oder du setzt den Port auf 0 und legst über einen Schalter 5V an.
Wie rum du das machst ist Geschmackssache und manchmal auch durch die Schnittstellenbeschreibung vorgegeben. Ich persönlich versuche es immer so hinzubekommen, dass über den 0V Pegel ausgelöst wird.
Wenn du Probleme mit Eingang oder Ausgang setzen hast, dann poste lieber deinen geänderten Code damit wir dir bei eventuellen Fehlern helfen können. Aber denke bitte ans Formatieren sonst hat keiner Lust sich da immer wieder die Augen zu überanstrengen.
Hoffe das mit den Pegeln war verständlich genug
sast
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen