我正在使用 Golang 用 tinygo 對 arduino uno 進行編程。我正在嘗試映射兩個值范圍。
一個是編碼器,范圍在0-1000之間,另一個是tinygo的ADC范圍在0-65535之間。我正在讀取 ADC 范圍,需要將其轉換為 0-1000(編碼器)的范圍。
我嘗試了幾件事,但我遇到的基本問題是資料型別。例如下面的公式等于 0:
var encoderValue uint16 = 35000
float := float64(1000/65535) * float(encoderValue)
uj5u.com熱心網友回復:
1000/65535是整數除法,將導致0. 如果將結果轉換為 沒關系float64,那么它將是0.0。
使用浮點常量:
var encoderValue uint16 = 35000
x := float64(1000.0/65535) * float64(encoderValue)
fmt.Println(x)
這將輸出(在Go Playground上嘗試):
534.0657663843748
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/352549.html
