[入门]arduino C语言

2150浏览
查看: 2150|回复: 0

[入门] arduino C语言

[复制链接]
(文中含有作者手绘图,很不好看
1.程序要用英文编写,符号也是。
√         , . ;  () {}
×         ,。;(){}
2.
函数名后一定要有括号。
3.
void setup()  参数设置函数
void loop()   参数循环函数
4.
pinMode(引脚编号,模式);pin:引脚    Mode:模式(OUTPUT/INPUT)
5.
数字端口 1~13
模拟端口 A0~A5
6.
除了大括号及少数例外,几乎每一行代码都要用分号结尾。
7.
digitalWrite(端口号,输出信号);
                      ↑
                高电位(HIGH或1)
                低电位(LOW或0)
8.
delay(延迟毫秒数);
9.
delayMicroseconds(延迟微秒数);
10.
声明变量并赋值的语法:
数据类型 变量名=值/运算式;        
int led=7;
11.
变量名称只能包含英文字母、数字和底线。
12.
变量名称中第一个字不能是数字。
13.
变量的名称大小写有别(LED和led是不同的变量)。
14.
变量名称尽量使用有意义的文字。看起来更方便。
15.
若要使用两个单词来命名变量,一般采用驼峰式:把两个字连起来,第二个字的首字母大写。也可采用中间加底线。
16.
避免用特殊意义的保留字给变量命名。例如print是输出文字的指令。因此不宜将变量命名为print。
17.
digitalRead(pin);数字读取
18.
  if(判断条件)
{
执行语句:
           }
else
{
否则执行语句:
           }
19.
for(int i=0;i<3;i++)
  {
  重复语句
  }
20.
Arduino串口通信相关函数
Serial扩展库:提供设置联机、输出和读取等相关函数。
Serial.begin(9600);
21.
Serial扩展库:
串口输出数据函数:
Serial.print();与Serial.println();
println会换行。
22.
Serial.available();
返回缓存区的字节数
如果缓存区没有数据,返回0。
Serial.read();
读取串行缓存区的第一个字节。
如果没有数据,返回-1。缓存区的数据均以ASCII码存储输出。
23.
arduino C语言图3
通过比对switch()里的变量和case后面的值,来决定切换执行哪一段程序。如果不加break;那么有一个case成立时,后面所有的程序都会执行,直到遇到一个break;或switch语句结束。
24.
模拟0~模拟5,共计6个模拟接口。它们既可以当做模拟口来使用,也可以当做数字口来使用。
25.
“模拟——数字”转换器,简称A/D转换器。
26.
analogRead(pin);模拟读取。
pin:读取的模拟输入引脚号(大多数主板是A0~A5)。
Returns返回值。
int(0~1023);
整数型int(0~1023);
27.
arduino通过PWM波实现模拟电压输出采用analogWrite(analogOutPut,val);
函数输出模拟信号,val范围为0~255,对应输出0%~100%的占空比。
analogWrite(端口号        ,    模拟数值)
              ↓                    ↓
可能值:3,5,6,9,10,或11   可能值为:0~255
28.
arduino C语言图2

29.
DS18B20简介:
(1)独特的单线接口方式,与单片机连接时仅需要一条口线。
(2)测量温度为-55~125°C,在-10~85°C的范围内精度为+0.5℃。
(3)通过编程可实现9~12位数字读数方式。
(4)用户可自设定非易失性的报警上下限值。
(5)外围电路简单,使用时不需要外围元件,可用数据总线供电,电压范围为3,0~5.5V,无需备用电源。
30.
测量脉冲持续时间的pulseIn()函数Arduino提供一个测量脉冲时间长度的pulseIn()函数。
31.
超声波测距语法格式:
pulseIn(pin,value,timeout)
                 ↓
              超时时间
32.
此函数将传回微秒单位的脉冲时间,建议用unsigned long类型的变量来存放。
33.举例:key_data==0可以直接用!key_data
        Key_data==1 可以直接用key_data
34.Arduino舵机控制库:<Servo.h>
35.下面介绍了下库中函数的使用:
attach:绑定Arduino引脚为舵机变量语法servo. Attach(pan)
                                     Servo.atttach(pin,min,max)
36.write():写一个值到舵机,控制相应的主轴。Servo.write(angle)
37.writeMicrosecond():写一个值(单位为微秒uS)到舵机,控制相应的主轴。
38.红外传输:
(1)8位地址位,8位命令位。
(2)为了可靠地址位和命令位被传输两次。
(3)脉冲位置调制。
(4)载波频率38khz。
(5)每一位的时间为1.125ms或2.25ms。
39.逻辑0和1的定义如下图:
arduino C语言图1
(更正:Logical“2”应为Logical“0”。)

TueJanuary-202101266625..png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail