为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 tinygo 中映射两个值范围

如何在 tinygo 中映射两个值范围

Go
慕森王 2022-10-10 19:30:12
我正在使用 Golang 用 tinygo 编写 arduino uno。我正在尝试映射两个值范围。一个是编码器,范围在 0-1000 之间,另一个是 tinygo 的 ADC 范围在 0-65535 之间。我正在读取 ADC 范围,需要将其转换为 0-1000(编码器)的范围。我已经尝试了几件事,但我遇到的基本问题是数据类型。例如,以下公式等于 0:var encoderValue uint16 = 35000float := float64(1000/65535) * float(encoderValue)
查看完整描述

1 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

1000/65535是一个整数除法,将导致0. 如果将结果转换为 没关系float64,那么它将是0.0。


使用浮点常量:


var encoderValue uint16 = 35000

x := float64(1000.0/65535) * float64(encoderValue)

fmt.Println(x)

这将输出(在Go Playground上尝试):


534.0657663843748


查看完整回答
反对 回复 2022-10-10
  • 1 回答
  • 0 关注
  • 56 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信