1. 程式人生 > >ROS學習(三) ros::spin() 或 ros::spinOnce()

ROS學習(三) ros::spin() 或 ros::spinOnce()

                       ros::spin() 或 ros::spinOnce()

ros::spin() 或 ros::spinOnce()兩個函式通常出現在ROS的主程式中,區別在於前者呼叫後不會返回,後者呼叫後還可以接著執行後面的程式。

區別:

       從其英文名字可以看出其中的差異,once表示“一次”

      ros::spin()在呼叫後不會再返回,換個說話,就是你的主程式以後的程式就不再執行,而ros::spinOnce()在呼叫後他執行完後,會返回,函式以後的程式還可以被執行。

     從以上可以看出,ros::spin()一般不出現在迴圈體中,如果出現在迴圈體中,程式執行到這一直呼叫,ros::spinOnce()用法相對靈活。