第2章Arduino软件2.4.1 加载第一个程序
程序2-1:C语言的向世界问好
#include <stdio.h>
main( )
{
printf(“hello world\n”);
}
程序2-2:Arduino向世界问好
void setup( )
{
pinMode(13,OUTPUT);    //将13引脚设置为输出引脚
}
void loop( )
{
digitalWrite(13,HIGH);    //13引脚输出高电平,即将小灯点亮
delay(1000);
digitalWrite(13,LOW);    //13引脚输出低电平,即将小灯熄灭
delay(1000);
}
2.4.3 函数库和程序架构介绍
程序2-3:闪灯程序
int LEDPin = 3;
void setup( )
{
pinMode(LEDPin, OUTPUT);    //将3引脚设置为输出引脚
}
void loop( )
{
digitalWrite(LEDPin, HIGH);    //3引脚输出高电平,即将小灯点亮
delay(1000);
digitalWrite(LEDPin, LOW);    //3引脚输出低电平,即将小灯熄灭
delay(1000);
}
第3章Arduino语言及程序结构3.2.1 void setup( )
示例:
int buttonPin = 3;
void setup( )
{
Serial.begin(9600);
pinMode(buttonPin,INPUT);
}
void loop( )
{
//
}
3.2.2 void loop( )
示例:
int buttonPin = 3;
// setup 中初始化串口和按键针脚.
void setup( )
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}
// loop 中每次都检查按钮,如果按钮被按下,就发送信息到串口
void loop( )
{
if (digitalRead(buttonPin) == HIGH)
Serial.write('H');
else
Serial.write('L');
delay(1000);
}
第5章Arduino的基本函数
5.2.3 analogWrite(pin, value)
从引脚11输出PWM的示例程序如下:
int sensor=A0;
int LED=11;
int value;
void setup( )
{
Serial.begin(9600);
}
void loop( )
{
value=analogRead(sensor);
Serial.println(value,DEC);
/
/可以观察读取的模拟量
analogWrite(LED, value/4);
//读回的值范围是0~1023,结果除以4才能得到0~255的区间值
}
5.8.2 attachInterrupt(interrupt,function,mode)
下面的例子是通过外部引脚触发中断函数。然后控制13号引脚的LED的闪烁。
int pin = 13;
volatile int state = LOW;
void setup( )
{
pinMode(pin, OUTPUT);
attachInterrupt(0, blink, CHANGE); //中断源:1
//中断处理函数:blink( )
//触发模式:CHANGE(变化时触发)}
void loop( )
{
digitalWrite(pin, state);
}
//中断处理函数
void blink( )
{
state = !state;
}
实验:串口控制开关灯
本实验将完成简单的串口控制功能,即使用计算机发送串口指令来实现开关Arduino上的L灯。程序中使用Serial. read( )语句接收数据并进行判断,当接收到的数据为“a”时,便点亮LED,并输出提示;当为“b”时,便关闭LED,并输出提示。示例程序代码如下:void setup( )
{
//初始化串口
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop( )
{
//如果缓冲区中有数据,则读取并输出
if (Serial.available( )>0)
{
char ad( );
Serial.print(ch);
//开灯
if (ch=='a')
{
digitalWrite(13,HIGH);
Serial.println("turn on");
}
/
模拟串口使用printf函数/关灯