Page 32 - ArduinoและPOP-BOT
P. 32
32
4.1.1 ส วนของฟ งก ชั่ น setup()
ฟ งก ชั่ นนี้ จะเขี ยนที่ ส วนต นของโปรแกรม ทํ างานเมื่ อโปรแกรมเริ่ มต นเพี ยงครั้ งเดี ยว ใช เพื่ อกํ าหนดค า
ของตั วแปร โหมดการทํ างานของขาต างๆ เริ่ มต นเรี ยกใช ไลบรารี่ ฯลฯฯ
ตั วอย างที่ 4-1
int buttonPin = 3;
void setup()
{
beginSerial(9600);
pinMode(buttonPin, INPUT);
}
void loop()
{
if (digitalRead(buttonPin) == HIGH)
serialWrite(‘H’);
else
serialWrite(‘L’);
delay(1000);
}
ในขณะที่ โปรแกรมภาษา C มาตรฐานที่ เขี ยนบน AVR GCC (เป นโปรแกรมภาษา C ที่ ใช C คอมไพ
เลอร แบบ GCC สํ าหรั บไมโครคอนโทรลเลอร AVR) จะเขี ยนได ดั งนี้
int main(void)
{
init();
setup(); ตรงกั บ void setup()
for (;;)
loop(); ตรงกั บ void loop()
return ;
}
4.1.2 ส วนของฟ งก ชั่ น loop()
หลั งจากที่ เขี ยนฟ งก ชั่ น setup()ที่ กํ าหนดค าเริ่ มต นของโปรแกรมแล ว ส วนถั ดมาคื อฟ งก ชั่ น loop()
ซึ่ งมี การทํ างานตรงตามชื่ อคื อ จะทํ างานตามฟ งก ชั่ นนี้ วนต อเนื่ องตลอดเวลา ภายในฟ งก ชั่ นนี้ จะมี โปรแกรมของ
ผู ใช เพื่ อรั บค าจากพอร ต ประมวล แล วสั่ งเอาต พุ ตออกขาต างๆ เพื่ อควบคุ มการทํ างานของบอร ด
ตั วอย างที่ 4-2
int buttonPin = 3; // setup initializes serial and the button pin
void setup()
{
beginSerial(9600);
pinMode(buttonPin, INPUT);
}
// loop checks the button pin each time and will send serial if it is pressed
void loop()
{
if (digitalRead(buttonPin) == HIGH)
serialWrite(‘H’);
else
serialWrite(‘L’);
delay(1000);
}