Originariamente inviato da Michele Facchin 
Non ho capito se il quesito è troppo facile o è troppo difficile..ci fai un esempio?
			
		
 
	 
 
Diciamo che non è troppo difficile.. forse l'introduzione lo faceva sembrare chissà cosa.. 
Questo è il ciclo.. diciamo che il quesito è se a un certo numero di volte che eseguo questo ciclo mi fermo ad esempio al secondo step io devo memorizzarmi ad esempio in una variabile dove sono arrivato.. e la volta prossima che entro nel ciclo ripartire dallo stesso punto da dove mi sono fermato.. questo perchè altrimenti se parto dall'inizio il motore nelle prime sequenze rimmarrebbe fermo e introdurrebbe degli errori di gradi nella var current_degrees.. e questo non è bene! Avete qualche brillante idea? Io pensavo di introdurre dei goto.. ma ripeto che forse non è affatto la soluzione migliore!
	codice:
	 do{
		w_data[0] = 0xC;		//1100  primo step
		// DAQmxBaseWriteDigitalU8(taskHandle, numSampsPerChan, autoStart, timeout, dataLayout, writeArray, sampsPerChanWritten, Nothing)
		DAQmxErrChk (DAQmxBaseWriteDigitalU8(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,w_data,&written,NULL));		
		
		
		current_degrees += step_value;
		//la funzione qui sopra fa uscire 1100 sui canali della scheda
		if (current_degrees >= degrees) break; //se siamo a posto usciamo
		Sleep(SLEEP_TIME); //mezzo sec di attesa
		w_data[0] = 0x6;		//0110  secondo step
		DAQmxErrChk (DAQmxBaseWriteDigitalU8(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,w_data,&written,NULL));		
		//la funzione qui sopra fa uscire 0110 sui canali della scheda
		
		current_degrees += step_value;
		if (current_degrees >= degrees) break; //se siamo a posto usciamo
		Sleep(SLEEP_TIME); //mezzo sec di attesa
		w_data[0] = 0x3;		//0011  terzo step
		DAQmxErrChk (DAQmxBaseWriteDigitalU8(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,w_data,&written,NULL));		
		//la funzione qui sopra fa uscire 0011 sui canali della scheda
		
		current_degrees += step_value;
		if (current_degrees >= degrees) break; //se siamo a posto usciamo
		Sleep(SLEEP_TIME); //mezzo sec di attesa
		w_data[0] = 0x9;		//1001  quarto step
		
		DAQmxErrChk (DAQmxBaseWriteDigitalU8(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,w_data,&written,NULL));		
		//la funzione qui sopra fa uscire 1001 sui canali della scheda
		current_degrees += step_value;
		if (current_degrees >= degrees) break; //se siamo a posto usciamo
	
		Sleep(SLEEP_TIME);
	}while(1);