arduino basic issue
1. string
char Str1[15];
char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};
char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};
char Str4[ ] = "arduino";
char Str5[8] = "arduino";
char Str6[15] = "arduino";
字符串要有空终止符,否则它将继续向下读取字节。
你可以像这样打包长字符串: char myString[] = “This is the first line” “ this is the second line” “ etcetera”;
2.create a arrays
创建(声明)一个数组
下面的方法都可以用来创建(声明)数组。
myInts [6];
myPins [] = {2,4,8,3,6};
mySensVals [6] = {2,4,-8,3,2};
char message[6] = "hello";
索引下标从0开始;
3.interrupt or noInterruptvoid loop()
{
noInterrupts();
//重要、时间敏感的代码
interrupts();
//其他代码写在这里
}
中断可以被关闭或者打开。
4.attachinterrupt
a. description:两个外部中断:0(数字引脚2)和1(数字引脚3)。
attachInterrupt(interrupt, function, mode)
interrupt:中断引脚树
function:中断发生时调用函数,必须没有返回值,没有参数。被称为中断服务程序
mode:定义何时发生中断以下四个contstants预定有效值:
- LOW 当引脚为低电平时,触发中断
- CHANGE 当引脚电平发生改变时,触发中断
- RISING 当引脚由低电平变为高电平时,触发中断
- FALLING 当引脚由高电平变为低电平时,触发中断.
5.tone():在一个引脚上产生特定频率的方波(50%占空比),持续时间可以设定,否则波形会一直产生直到调用no tone()函数,
语法:tone(pin,frequency);
tone(pin,frequency,duration)
pin:要产生声音的引脚;
frequency:产生声音的频率,单位hz,类型unsigned int;
duration:声音持续的时间,单位毫秒(可选),unsigned long;
6.pulseIn():读取一个引脚的脉冲(HIGH或LOW)
语法:pulseIn(pin,value)
pulseIn(pin,value,timeout)
pin:要进行脉冲计时的引脚号;
value:要读取的脉冲类型HIGH或LOW;
timeout:指定脉冲的等待时间,单位为微秒,默认值是1秒;
7.millis():开发板从当前程序运行的毫秒数
8.constrain(x,a,b):将x约束到(a,b)范围内
9.map(value,fromLow,fromHigh,toLow,toHigh):将一个数从一个范围映射到另一个范围
value:需要映射的值;
fromLow:当前范围值的下限;
fromHigh:当前范围值的上限;
toLow:目标范围值得下限;
toHigh:目标范围值得上限;
10.attach()
语法:
servo.attach(pin)
servo.attach(pin,min,max)
servo:舵机类型的变量
pin :驱动舵机的管脚号
min:脉冲宽度,对应于舵机的最小角度(0)
max:脉冲宽度,对应于舵机的最大角度(180)
11.Mstimer2()定时器中断
MsTimer2::set(unsigned long ms, void (*f)()) ,设定定时及调用的语句
MsTimer2::start() ,定时开始
MsTimer2::stop() ,定时停止
arduino basic issue的更多相关文章
- C++银行储蓄程序代码
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Arduino关于旋转编码器程序的介绍(Reading Rotary Encoders)--by Markdown
介绍 旋转或编码器是一个角度測量装置. 他用作精确測量电机的旋转角度或者用来控制控制轮子(能够无限旋转,而电位器只能旋转到特定位置).其中有一些还安装了一个能够在轴上按的button,就像音乐播放器的 ...
- Brett Beauregard大神的Arduino PID算法
大神的全部PID http://brettbeauregard.com/blog/category/pid/ Improving the Beginner’s PID – Introduction I ...
- Android Weekly Notes Issue #222
Android Weekly Issue #222 September 11th, 2016 Android Weekly Issue #222 ARTICLES & TUTORIALS Fo ...
- 如何用 JIRA REST API 创建 Issue
简介 最近需要把一个Excel里的issues list全部到JIRA上create 一遍, 总不能手动创建百十来个issues吧, 本文讲述一下如果调用JIRA提供的Rest API 来自动创建is ...
- arduino 入手
新买了个ardhuino 入门套件 1. Win7 Driver issue: Need to install the below drivers, because my windows is ins ...
- zookeeper kazoo Basic Usage
http://kazoo.readthedocs.org/en/latest/basic_usage.html Basic Usage Connection Handling To begin usi ...
- x86 构架的 Arduino 开发板Intel Galileo
RobotPeak是上海的一家硬件创业团队,团队致力于民用机器人平台系统.机器人操作系统(ROS)以及相关设备的设计研发,并尝试将日新月异的机器人技术融入人们的日常生活与娱乐当中.同时,RobotPe ...
- Arduino VS. Raspberry Pi VS. Beaglebone Black
The Arduino is a small Atmel-based microcontroller development board easily integrated into many dif ...
随机推荐
- VUE- 引用视频组件
VUE- 引用视频组件 安装依赖 cnpm install vue-video-player -S cnpm install video.js -S 全局引用: 在main.js中 import Vu ...
- Java中的合并与重组(下)
通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习. Java中的合并与重组上部分链接:https://www.cnblogs.com/youruike1/p ...
- POJ 3659 再谈树形DP
Cell Phone Network Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5325 Accepted: 188 ...
- (4)关于Alpha通道问题
其实,我还是不理解,我还是先把我目前懂得和觉得有用的东西先存下来 =================================================================== ...
- SQL基础教程(第2版)第3章 聚合与排序:练习题
存在以下 个错误. .使用了字符类型的列(product_name)作为 SUM 函数的参数. >> 解答 SUM 函数只能使用数值类型的列作为参数. . WHERE 子句写在了 GROU ...
- SQL基础教程(第2版)第2章 查询基础:练习题
SELECT product_name, regist_date FROM Product WHERE regist_date > '2009-04-28'; ① ~ ③中的 SQL 语句都无法 ...
- Java--类初始化
package httpclient.demo; public class StaticTest { public static void main(String[] args) { staticFu ...
- CSS3-选中的锚链接改变指定样式
1.css样式 主角就是:target <a> 标签的 target 属性规定在何处打开链接文档,连接文档也可以是一个样式. 如果在一个 <a> 标签内包含一个 target ...
- 干货 | CDN搭配OSS最佳实践 ——搭建动静态分离的应用架构
一.传统架构及痛点 传统的网站产品应用架构,所有资源部署在应用服务器本地存储或挂载的数据存储区,对于动静态资源不作分离, 产品架构如下图所示: 该架构存在诸多问题: ● 系统性能会随着系统访问量的增长 ...
- Java线程——synachronized关键字的作用(一)
在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确 ...