Arduino初学

常见关键字

  1. 声明变量及接口名称(int val;int ledPin=13;)

  2. setup()——函数在程序开始时使用,可以初始化变量、接口模式、启用库等(例如:pinMode(ledPin,OUTUPT); )

  3. loop()——在setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。使用它来运转Arduino

  4. pinMode(接口名称,OUTPUT或INPUT)将——接口定义为输入或输出接口,用在setup()函数里。

  5. digitalWrite(接口名称, HIGH或LOW)——将数字接口值至高或低

  6. digitalRead(接口名称)——读出数字接口的值。

  7. analogWrite(接口名称, 数值)——给一个接口写入模拟值(PWM波)。对于 ATmega168芯片的Arduino(包括Mini或BT),该函数可以工作于 3, 5, 6, 9,10和 11号接口。老的 ATmega8芯片的USB和 serial Arduino仅仅支持 9, 10和11号接口。

  8. analogRead(接口名称)——从指定的模拟接口读取值,Arduino对该模拟值进行10-bit的数字转换,这个方法将输入的0-5电压值转换为 0到1023间的整数 值。

  9. delay()——延时一段时间,delay(1000)为一秒。

  10. Serial.begin(波特率)——设置串行每秒传输数据的速率(波特率)。在同计算机通讯时,使用下面这些值:300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600或 115200。你也可以在任何时候使用其它的值,比如,与0号或1号插口通信就要求特殊的波特率。用在setup()函数里

  11. Serial.read()——读取持续输入的数据

  12. Serial.print(数据,数据的进制)——从串行端口输出数据。Serial.print(数据)默认为十进制等于Serial.print(数据,DEC)

  13. Serial.println(数据,数据的进制)——从串行端口输出数据,跟随一个回车和一个换行符。这个函数所取得的值与 Serial.print()一样

数字A 与 模拟D

数字

程序里我们会用到digitalRead()函数,在编写程序的过程中有两点值得我们注意的地方,一是在setup()函数中,会用到pinMode(inpin,INPUT)进行设定inPin接口为输入接口,二是在loop()函数中,会用到digitalRead()来读取数字接口的值,例如:val=digitalRead(inpin);。

模拟

在模拟接口中用函数analogread()和analogwrite()

串口通信

TX(T:Transmitter 发送)表示为Arduino发送指令信息给计算机,RX(R:Receive 接收)表示为Arduino接收来自计算机的指令信息,当下载程序或与计算机通信时,这两个指示灯就会闪烁。
软串口

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10,11); // RX, TX
 
void setup()  
{
 Serial.begin(9600);
 mySerial.begin(115200); 
}
 
void loop() // run over and over
{
   mySerial.listen();
   while (mySerial.available() > 0) 
   {
    char inByte =mySerial.read();
    Serial.write(inByte);
   }
}

Serial.available() 的意思是:返回串口缓冲区中当前剩余的字符个数。一般用这个函数来判断串口的缓冲区有无数据,当Serial.available()>0时,说明串口接收到了数据,可以读取。

Serial.read()指从串口的缓冲区取出并读取一个Byte的数据,比如有设备通过串口向Arduino发送数据了,我们就可以用Serial.read()来读取发送的数据。

典型的用法如下:

while (Serial.available()>0)
{
    data= Serial.read();
    delay(2);
}

上面代码的意思就是,当串口接收到数据时(上面Serial.available()>0这句),反复读取串口的数据并赋值给data (上面data= Serial.read()这句),直到数据读完(即Serial.available()=0的时候)。

原文地址:https://www.cnblogs.com/leviatan/p/7668188.html