unterprogrammproblem!
-
Korbinian schrieb:
soweit mich nicht alles täuscht unterstüten mehr oder weniger alle microprozessoren interrupts, einfach nen interrupt aufs keyboard setzen und fertig
... ansteuern tu ich das ganze dann mit visual basic via rs232!
Die Daten werden über RS232 gesendet. Ich kenn mich mit Hardwarenahen dingen icht aus, wüsste aber nicht wie da ein Keyboard Inerrupt helfen soll !?
-
jo klar, das kommt davon, wenn man die posts nur oberflächlich liest: ich hab übersehen, dass der mc vom pc aus gesteuert wird. dachte es wäre ein eigenständiger mc
*tipvonvorherzuruecknehm*
-
Ich habs bereits geschafft innerhalb der While schleife jedesmal abfragen ob ein "B" kommt! Dann hab ich einfach ein break gemacht! prinzipiell funktionierts ja das programm bleibt stehn! nur sobald ich dann ein anderes Zeichen schicke gehts wieder weiter...
und außerdem ist das keine elegante lösung! Gibt es keinen Befehl wie man ein Unterprogramm wieder schließt? also so wie man eins öffnet mit zb Unterprogramm();
gibts da nichts wie man das wieder schließen kann?
-
Wie man eine Funktion verlässt?
return Value;
Wie man eine Schleife verlässt?
Run=true; while(Run==true){ char Value; cin >> Value; switch(Value){ case 'Q': Run=false; break; case 'G': break; } }
Ich hoffe das hast du gemeint.
cu max
-
Es sei denn, es ist eine void funktion, dann einfach
return;
-
Du scheinst von Programmierung keine Ahnung zu haben, auf keinen Fall Erfahrung.
Solche Unterprogramme werden in C++ Funktionen und in Visual Basic Prozeduren genannt.
Um dieses ,,Unterprogramm'' zu beenden, musst du einfach, wie Shade of Mine schon sagte, einfach hinschreiben:return; [/code] Dann wird die Funktion beendet und das Teil landet wieder in der Funktion, die diese aufgerufen hat, i.d.F. main. Von dort aus geht es dann an der Stelle weiter, wo die Funktion aufgerufen wurde. [cpp] #include <iostream> using std::cout; using std::endl; void foo() { cout << "2"; return; } int main() { cout << "1" << endl; foo(); cout << "3" << endl; return 0; }
I.d.F. ist das return aber nicht nötig, da bei Ende der Funktion diese automatisch beendet wird.
MfG MAV
-
CarstenJ schrieb:
Es sei denn, es ist eine void funktion, dann einfach
return;
Void Funktionen sind kein Standard.
-
Void MAIN Funktionen sind kein Standard, alles andere natürlich ohne weiteres legal.
-
*duck* deshalb meckert der Compiler, sorry.
-
also wenn ich dann in der While schleife einfach das Zeichen B mit if abfrage und dann return; mache bin ich wieder im hauptprogramm?
also so in der art:
if(Rs232buffer==B)
{
return;
}Ich werds probieren sobald ich am pc bin wo ich meine ganze software drauf hab!
Aber schonmal danke im voraus