Probleme beim absenden.



  • Guten Morgen,
    ich versuche einen Motor an zu steuern und habe dafür ein Programm geschrieben, bei dem ich folgendes Problem habe:
    Wenn ich das Programm starte und z.B. die Position angebe an die der Motor fahren soll, macht er nichts bis ich das nächste mal das Programm gestartet habe. Also er führt immer den Befehl vom letzten mal aus.
    Jetzt wurde mir gesagt dass ich das Problem mit einem befehl:"flash" vielleicht ändern kann.
    Nur wie mache ich das?
    also wo muss ich ihn hinschreiben? ist das der richtige Befehl? und was muss ich noch beachten?
    vielen dank schon mal jenen die so weit gelesen haben.
    so sieht ein Teil aus:

    int Position()
    {
    
    	system("cls");
    	{
    	char cmd3[80];
    
    esp_232_open (1, 
     				  br19200, 
    				  db8, 
    				  sb1,
    				  None );
    
    cout<<"da schau an, es geht" << resp << endl;
    cout<<"Bitte denken sie daran die Kommastellen mit einem Punkt zu trennen"<<resp<<endl;	
    cout<<"Bitte geben sie die Position an:"<<resp<<endl;
    
    	esp_232_send_ascii ( cmd );
    	scanf("%s", cmd3);
    	strcpy(cmd,"1PA");
    	strcat(cmd,cmd3);
    	esp_232_send_ascii ( cmd );
    	}
    


  • Hi Operations,

    offenbar schickst Du ja Deinen Steuerbefehl in der Funktion esp_232_send_ascii über RS232 an die Motorsteuerung. (?)
    Wenn Du das in dieser Funktion mit WriteFile(...) machst(?), solltest Du vielleicht danach mal FlushFileBuffers(hFile) aufrufen.

    Viel Erfolg!


Anmelden zum Antworten