Arduino101学习笔记(八)—— 函数库
2016-11-12 14:28
399 查看
/*********最小值*********/ min() //实现:#define min(a,b) ((a)<(b)?(a):(b)) /*********最大值*********/ max() //实现:#define max(a,b) ((a)>(b)?(a):(b)) /*********绝对值*********/ abs() //实现: #define abs(x) ((x)>0?(x):(-x)) /*********调整到区间*********/ //如果值 amt 小于 low, 则返回 low; 如果 amt 大于 high, 则返回 high; 否则, 返回 amt . 一般可以用于将值归一化到某个区间 constrain() //实现:#define constrain(amt, low, high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) /*********等比映射*********/ 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 映射后区间 /*********指数运算*********/ double pow (float base, float exponent); /*********平方运算*********/ double sqrt(double x) //实现: #define sqrt(x) ((x)*(x)) /*********三角函数运算*********/ float sin(float rad); float cos(float rad); float tan(flaot rad); /*********随机数运算*********/ void randomSeed(unsigned int seed); //seed:随机种子 long random(long howbig); //生成随机数,范围[0,howbig-1] /********位运算*********/ #define lowByte(w) ((w) & 0xff) //取低字节 #define highByte(w) ((w) >> 8) //取高字节 #define bitRead(value, bit) (((value) >> (bit)) & 0x01) //读一个bit #define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) //写一个bit #define bitSet(value, bit) ((value) |= (1UL << (bit))) //设置一个bit #define bitClear(value, bit) ((value) &= ~(1UL << (bit))) //清空一个bit #define bit(b) (1 << (b)) //生成相应bit
相关文章推荐
- Arduino101学习笔记(五)—— 模拟IO
- Arduino101学习笔记(十一)—— 蓝牙BLE
- Arduino101学习笔记(六)—— 高级IO
- Arduino101学习笔记(九)—— 中断函数
- Arduino101学习笔记(十三)—— 101六轴传感器
- Arduino101学习笔记(三)—— 101简介
- Arduino101学习笔记(十)—— 串口通信
- Arduino101学习笔记(十二)—— 101定时器中断
- Arduino101学习笔记(四)—— 数字IO
- Arduino101学习笔记(七)—— 时间API
- Arduino学习笔记 函数的秘密~~~
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- perl学习笔记六----函数
- PHP与MYSQL交互函数表学习笔记
- Javascript学习笔记(二)Javascript核心之函数
- php学习笔记8-(定义函数)
- gcc中格式化输出函数-学习笔记
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- stl学习笔记2(容器,函数对象)
- 学习笔记,php中的分割函数