FSMController.TestMoving(1, 0, 0);
FSMController.TestMoving(1, 512, 0);
FSMController.TestMoving(1, 1023, 0);
FSMController.TestMoving(1, 512, 0);
FSMController.TestMoving(1, 0, 0);
คำสั่งด้านบนนี้เป็นคำสั่งที่ทำงานอยู่บนเมธอด main นะครับ ซึ่งผมจะเรียกใช้งานมันต่อเนื่องตาม code ด้านบนเลยครับ ส่ง method ที่ชื่อ TestMoving ที่ถูกเมธอด main เรียกใช้นั้นมี code ดังนี้ครับด้านล่าง
void TestMoving(int id, int position, int speed){
Dynamixel.dxl_write_word(id, MOVING_SPEED, speed);
Dynamixel.dxl_write_word(id, GOAL_POSITION, position);
}
ปัญหาก็คือที่เมธอด main เรียกใช้งานเมธอด TestMoving นั้นมันทำงานไม่ครบทุกอันที่เรียกใช้ครับผม ซึ่งจาก code ในเมธอด main มันน่าจะทำงานทั้งหมด 5 ครั้งใช่มั้ยละครับ แต่มันทำงานแค่เมธอดแรกเมธอดเดียว แล้วก็ทำงานแค่ครั้งเดียวแล้วก็เงียบจบไปเลย ซึ่งเหมือนกับว่า มันทำงานเร็วมากอ่ะครับ ซึ่งถ้าหากผมใส่ delay คั้นไว้ก็ช่วยได้ครับ แต่ยังไม่เหมาะกับการใช้งานสักเท่าไหร่ครับ พอจะมีวิธีแก้ไขวิธีอื่นไหมครับ ขอบคุณครับ
จากคุณ thanapon (A:171.7.195.17 X:)
ช่วยดูโปรแกรม c# หน่อยครับ
FSMController.TestMoving(1, 512, 0);
FSMController.TestMoving(1, 1023, 0);
FSMController.TestMoving(1, 512, 0);
FSMController.TestMoving(1, 0, 0);
คำสั่งด้านบนนี้เป็นคำสั่งที่ทำงานอยู่บนเมธอด main นะครับ ซึ่งผมจะเรียกใช้งานมันต่อเนื่องตาม code ด้านบนเลยครับ ส่ง method ที่ชื่อ TestMoving ที่ถูกเมธอด main เรียกใช้นั้นมี code ดังนี้ครับด้านล่าง
void TestMoving(int id, int position, int speed){
Dynamixel.dxl_write_word(id, MOVING_SPEED, speed);
Dynamixel.dxl_write_word(id, GOAL_POSITION, position);
}
ปัญหาก็คือที่เมธอด main เรียกใช้งานเมธอด TestMoving นั้นมันทำงานไม่ครบทุกอันที่เรียกใช้ครับผม ซึ่งจาก code ในเมธอด main มันน่าจะทำงานทั้งหมด 5 ครั้งใช่มั้ยละครับ แต่มันทำงานแค่เมธอดแรกเมธอดเดียว แล้วก็ทำงานแค่ครั้งเดียวแล้วก็เงียบจบไปเลย ซึ่งเหมือนกับว่า มันทำงานเร็วมากอ่ะครับ ซึ่งถ้าหากผมใส่ delay คั้นไว้ก็ช่วยได้ครับ แต่ยังไม่เหมาะกับการใช้งานสักเท่าไหร่ครับ พอจะมีวิธีแก้ไขวิธีอื่นไหมครับ ขอบคุณครับ
จากคุณ thanapon (A:171.7.195.17 X:)