查看Map()的源代码
←
Map()
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
<font color="orange" size="+1">'''描述'''</font> 将一个数字重新映射到另一个范围。 也就是说,fromLow的值将被映射到ToLow,一个值从High到toHigh,值之间的值之间的值等。 不会将值限制在范围内,因为超出范围的值有时是有意义和有用的。 如果需要对范围的限制,则可以在该函数之前或之后使用constrain()函数。 请注意,任一范围的“下限”可能大于或小于“上限”,因此map()函数可用于反转数字范围,例如 <pre style="color:dimgray"> y = map(x, 1, 50, 50, 1); </pre> 该函数也能很好的处理负数,所以这个例子 <pre style="color:dimgray"> y = map(x, 1, 50, 50, -100); </pre> 也是有效的,效果很好。 map()函数使用整数数学,所以不会产生分数,当数学可能表明它应该这样做。 小数剩余部分被截断,而不是四舍五入或平均。 <font color="orange" size="+1">'''语法'''</font> <pre style="color:dimgray"> map(value, fromLow, fromHigh, toLow, toHigh) </pre> <font color="orange" size="+1">'''参数'''</font> * value:要映射的数字 * fromLow:值的当前范围的下限 * fromHigh:值的当前范围的上限 * toLow:值的目标范围的下限 * toHigh:值的目标范围的上限 <font color="orange" size="+1">'''返回'''</font> * 映射值 <font color="orange" size="+1">'''示例'''</font> <pre style="color:dimgray"> /* Map an analog value to 8 bits (0 to 255) */ void setup() {} void loop() { int val = analogRead(0); val = map(val, 0, 1023, 0, 255); analogWrite(9, val); } </pre> <font color="orange" size="+1">'''附录'''</font> 对于数学的实现,这里是完整的函数 <pre style="color:dimgray"> long map(long x, long in_min, long in_max, long out_min, long out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } </pre> <font color="orange" size="+1">'''扩展阅读'''</font> :- [[constrain()]] ---- [[Arduino语法参考 | 返回Arduino语法参考列表]] 更多建议和问题欢迎反馈至 [http://www.yfrobot.com YFRobot论坛]
返回
Map()
。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
变种
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
YF-论坛提问
YFRobot-直营店
YFRobot-企业店
Arduino
Arduino之入门篇
Arduino入门教程
Arduino语法参考
Arduino库
Arduino核心代码
编程平台
Mixly库
Mind+库
MakeCode扩展
传感器系列
积木式传感器系列
黑板传感器系列
蓝板传感器系列
Micro:Bit
Micro:Bit 通用基础教程
Valon智能车
Valon-I
帮助
帮助
wiki语法参考
工具箱
链入页面
相关更改
特殊页面
页面信息