“Map()”的版本间的差异
(创建页面,内容为“<pre style="color:green"> long map ( long x, long in_min, long in_max, long out_min, long out_max ) </pre> 等比映射 <br> 将位于...”) |
|||
第12行: | 第12行: | ||
− | 参数:<br> | + | '''参数''':<br> |
*x 要映射的值 | *x 要映射的值 | ||
*in_min 映射前区间 | *in_min 映射前区间 |
2016年5月25日 (三) 01:35的最新版本
long map ( long x, long in_min, long in_max, long out_min, long out_max )
等比映射
将位于[in_min, in_max]之间的x映射到[out_min, out_max].
参数:
- x 要映射的值
- in_min 映射前区间
- in_max 映射前区间
- out_min 映射后区间
- out_max 映射后区间
例如下面的代码中用 map 将模拟量从[0,1023]映射到[0,255]区间:
// 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); } 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; }