由于目前的丟精度的只是一個變量,AxisPosition,所以我想到了一個辦發已經解決! 當AxisPosition大于10000.000f,就將AxisPosiSuper + AxisPosition/10000. AxisPosition = AxisPosition -(AxisPosition /10000)*10000 用這種辦法已經解決了。
另外,我有問過伺服設計工程師,在伺服內部確實沒有使用浮點型,遇到有小數的情況,整數和小數分別存儲、運算。
目前做的這個是運動控制器,帶CNC功能,所以為了方便使用了浮點型數據, 過陣子找顆帶FPU的32BITMCU,相信性能會有很大提升。
大家有32BIT 帶FPU的給小弟推薦幾個。 謝謝
|