/*********最小值*********/
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学习笔记(八)—— 函数库的更多相关文章

  1. 重温JSP学习笔记--El函数库

    EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/f ...

  2. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

  3. Go语言学习笔记八: 数组

    Go语言学习笔记八: 数组 数组地球人都知道.所以只说说Go语言的特殊(奇葩)写法. 我一直在想一个人参与了两种语言的设计,但是最后两种语言的语法差异这么大.这是自己否定自己么,为什么不与之前统一一下 ...

  4. 【opencv学习笔记八】创建TrackBar轨迹条

    createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...

  5. go微服务框架kratos学习笔记八 (kratos的依赖注入)

    目录 go微服务框架kratos学习笔记八(kratos的依赖注入) 什么是依赖注入 google wire kratos中的wire Providers injector(注入器) Binding ...

  6. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  7. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  8. Learning ROS forRobotics Programming Second Edition学习笔记(八)indigo rviz gazebo

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  9. matlab学习笔记13_1 函数返回值

    一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://blog.csdn.net/qq_36556 ...

  10. Redis学习笔记八:集群模式

    作者:Grey 原文地址:Redis学习笔记八:集群模式 前面提到的Redis学习笔记七:主从复制和哨兵只能解决Redis的单点压力大和单点故障问题,接下来要讲的Redis Cluster模式,主要是 ...

随机推荐

  1. struts2 基础demo1

    我们都知道 struts2 是基于webframework 出现的 优秀的mvc 框架, 他和struts1 完全没有联系.struts2 是一个框架, 啥叫框架呢?是一个优秀的半成品 . web的框 ...

  2. centos vim配置高亮语法和格式化粘贴

    centos vim配置高亮语法和格式化粘贴 设置vim别名和高亮grep词语 echo -e "\nalias vi=vim\nalias grep='grep --color'\n&qu ...

  3. 解读Unity中的CG编写Shader系列十 (光滑的镜面反射(冯氏着色))

    前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading).这篇文章作为后续讨论更光滑的镜面反射方式,逐像素 ...

  4. Linux-PAM认证模块

    Linux-PAM认证模块     用户访问服务器的时候,服务器的某一个服务程序把用户的谁请求发送到PAM模块进行认证.对于不同的服务器应用程序所对应的PAM模块也是不同的.如果想查看某个程序是否支持 ...

  5. Java web 开发环境搭建

    1.下载jdk-8u60-windows-i586.exe;安装过程会让指定jre的安装路径,此处最好指定和jdk安装一个目录下(D:\Program Files\Java\jdk1.8.0_60,D ...

  6. 用户登录流程详解 +volley(StringRequest)

    在实习期间由于要求使用volley,所以第一次开始接触volley,从一开始的迷茫陌生,到疯狂的查找各种资料,通过在项目中用到的实际问题,我想做一些总结,所以写了这篇文章.下面我将介绍我理解的用户登录 ...

  7. 3ds max不显示网格,转换为可编辑面片

    按G就消失了,快捷键 F3/F4切换线框和面片模式的显示

  8. 中文和unicode互转

    public class Test { public static void main(String[] args) { String uname="欧阳红"; for (int ...

  9. top

    . h或者? 显示帮助画面,给出一些简短的命令总结说明. k 终止一个进程.系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号.一般的终止进程可以使用15信号:如果不能正常结束那 ...

  10. 打开Genesis设置单位为mm

    打开Genesis界面: 点击Configuration: 可看到只要设置get_def_units的值即可: 打开C:\genesis\sys\config配置文件,在最后一行加入:get_def_ ...