一般會使用狀態(tài)機(jī)switch case 來處理, 例如下面Run運(yùn)行后...
void Run(void)
{
....
switch( step )
{
case 0:
if( IsRunning() ) break; //檢測所有運(yùn)動結(jié)束,否則繼續(xù)檢測
MoveXYZ( data[I].x, data[I].y, data[I].z …… );
Step ++;
Break;
Case 1:
If( IsRunning() ) break; // 同上
I++; // 準(zhǔn)備下一段數(shù)據(jù),之所以放在此處,是需要考慮在運(yùn)行過程中,有外部的暫停和繼續(xù)操作。
Step = 0; // 準(zhǔn)備運(yùn)行新的數(shù)據(jù)
Break;
}
...
}
樓主留言:
感謝大佬,能否分享一個小程序?qū)W習(xí)一下