66. void
digitalWrite(uint8_t
pin,
uint8_t
val)
{
uint8_t
timer
=
digitalPinToTimer(pin);
uint8_t
bit
=
digitalPinToBitMask(pin);
uint8_t
port
=
digitalPinToPort(pin);
volatile
uint8_t
*out;
if
(port
==
NOT_A_PIN)
return;
//
If
the
pin
that
support
PWM
output,
we
need
to
turn
it
off
//
before
doing
a
digital
write.
if
(timer
!=
NOT_ON_TIMER)
turnOffPWM(timer);
out
=
portOutputRegister(port);
uint8_t
oldSREG
=
SREG;
cli();
if
(val
==
LOW)
{
*out
&=
~bit;
}
else
{
*out
|=
bit;
}
SREG
=
oldSREG;
}
157. プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
int
a;
a
=
2;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
158. プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
int
a;
a
=
2;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
← aという名前で変数を用意する
159. プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
int
a;
a
=
2;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
← aという変数は2を意味することとする
(aに2を代入する)
160. プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
int
a;
a
=
2;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
← aという変数は2を意味することとする
← 「aが2と等しいか」
という条件分岐
161. int
a;
a
=
2;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
int
a
=
2;
if
}
}
← aという変数は2を意味することとする
← 「aが2と等しいか」
という条件分岐
162. プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
int
a;
a
=
2;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
163. int
a;
a
=
2;
a
=
1;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
164. int
a
=
2;
a
=
1;
if
}
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
a
=
1;
165. int
a;
a
=
2;
a
=
1;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
← aという名前で変数を用意する
166. int
a;
a
=
2;
a
=
1;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
← aという変数は2を意味することとする
(aに2を代入する)
167. int
a;
a
=
2;
a
=
1;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
← aという変数は1を意味することとする
(aに1を代入する)
168. int
a;
a
=
2;
a
=
1;
if
(a
==
2)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
← aという変数は1を意味することとする
← 「aが2と等しいか」
という条件分岐
169. int
a;
a
=
2;
a
=
1;
else
{
digitalWrite(13,
LOW);
}
int
a
=
2;
a
=
1;
if
}
}
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
← aという変数は1を意味することとする
← 「aが2と等しいか」
という条件分岐
170. int
a
=
2;
a
=
1;
if
}
}
a
=
2;
a
=
1;
プログラミングの基本概念
• 変数 = プログラムの状態を記録する仕組み
← aという変数は1を意味することとする
変数が指し示す値は
いつでも変えられる