โครงสร้างภาษา C Arduino

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ประกาศกรมสวัสดิการและคุ้มครองแรงงาน เรื่อง หลักเกณฑ์และวิธีการเลือกตั้งคณะกรรมการสวัสดิการในสถานประกอบกิจการ ประกาศราชกิจจานุเบกษา วันที่ 22 พฤษภาคม.
Advertisements

ซอฟแวร์ SOFTWARE น า ง ส า ว ฐ ิ ติ ม า น า ม ว ง ศ์ เ ล ข ที่ 4 3 ชั้ น ม. 4 / 7.
การสร้างเว็บเพจด้วยภาษา Html
 เครือข่ายคอมพิวเตอร์  การที่ระบบเครือข่ายมีบทบาทและ ความสำคัญเพิ่มขึ้น เพราะไมโครคอมพิวเตอร์ได้รับ การใช้งานอย่างแพร่หลาย จึงเกิดความต้องการที่จะ.
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
กระบวนการของการอธิบาย
ซอฟต์แวร์และการเลือกใช้
ตัวแปร และชนิด ข้อมูล. ตัวแปร การกำหนดตัวแปรเป็นการใช้ ชื่อตัวแปรแทน ตำแหน่งบนหน่วยความจำ สำหรับเก็บ ข้อมูลระหว่างการ ประมวลผล ซึ่งอาจเป็นข้อมูลนำเข้า.
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
งานวิชา เทคโนโลยี สารสนเทศ 4/3 เรื่อง INPUT และ OUTPUT จัดทำโดย นาย ชาญชัย ศรีน้อย เลขที่ 3 นาย ณัฐดนัย จันทมาศ เลขที่ 4 นาย อุดมศักดิ์ เกื้อนะ เลขที่
เทคนิคการสร้าง ภาพเคลื่อนไหว คอมพิวเตอร์ Computer Animation ง
ตอนที่ 2 โครงสร้างภาษา C Arduino เบื้องต้น
คำสั่งควบคุมการทำงาน
Project Management by Gantt Chart & PERT Diagram
หน่วยที่ 2 สัญญาประกันภัย
เรื่อง กระบวนการเทคโนโลยีสารสนเทศ
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
“วิธีการใช้งาน PG Program New Version สำหรับ PGD”
Microsoft Access 2007 การสร้างฟอร์ม
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การติดต่อฐานข้อมูลและการแสดงผล
บทที่ 5 อินพุตและเอาต์พุต
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
ครูวีรธรรม เทศประสิทธิ์ แผนกวิชาคอมพิวเตอร์ธุรกิจ
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
บริษัท พัฒนาวิชาการ (2535) จำกัด
การติดต่อฐานข้อมูลและการแสดงผล
ACCOUNTING FOR INVENTORY
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
BC320 Introduction to Computer Programming
แนวทางการออกแบบโปสเตอร์
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
การบัญชีต้นทุนช่วง (Process Costing).
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
Basic Input Output System
การติดต่อฐานข้อมูลและการแสดงผล
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
การศึกษาประเภทเสียงและความหมายของคำในกลุ่มภาษาต่างประเทศ
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
รายวิชา ไมโครโปรเซสเซอร์ในงานอุตสาหกรรม
หลักการแต่ง คำประพันธ์ประเภท โคลง. หลักการแต่ง คำประพันธ์ประเภท โคลง.
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
Object-Oriented Programming Paradigm
การบริหารโครงการซอฟต์แวร์
พื้นฐานการออกแบบ กราฟิก หมายถึง ศิลปะแขนงหนึ่งซึ่งใช้การสื่อความหมาย ด้วยเส้น สัญลักษณ์ รูปวาด ภาพถ่าย กราฟ แผนภูมิ การ์ตูน ฯลฯ เพื่อให้สามารถสื่อความหมายของข้อมูลได้ถูกต้องตรง.
กลุ่มสาระการเรียนรู้วิทยาศาสตร์
ชั้น G ปารีส ศูนย์การค้าเทอร์มินอล 21 โคราช
บริษัท พัฒนาวิชาการ (2535) จำกัด
บทที่ 9 การทำซ้ำ (Loop).
Week 5 C Programming.
SMS News Distribute Service
บทที่7 ทฤษฎีกราฟเบื้องต้น
หน่วยการเรียนรู้ การเขียนโปรแกรมภาษาขั้นพื้นฐาน เรื่อง โครงสร้างพื้นฐาน HTML 5 รหัส รายวิชา ง23102 การงานอาชีพและเทคโนโลยี 6 กลุ่มสาระ การงานอาชีพและเทคโนโลยี
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
2 โครงสร้างข้อมูลแบบสแตก (STACK).
Array: One Dimension Programming I 9.
ฟังก์ชันของโปรแกรม Computer Game Programming
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
โครงการถ่ายทอดเทคโนโลยีถนนรีไซเคิลเพื่อลดขยะพลาสติกใน 4 ภูมิภาค
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

โครงสร้างภาษา C Arduino Arduino UNO โครงสร้างภาษา C Arduino

โครงสร้างโปรแกรมภาษา C บน Arduino จะมีลักษณะแบบเดียวกับ C ทั่วๆ ไป แต่สำหรับท่านที่ยังไม่เคยเรียนรู้การเขียนโปรแกรมภาษาใดๆมาก่อน ท่านต้องทำความเข้าใจในเรื่องต่างๆดังนี้ 1. พรีโปรเซสเซอร์ไดเร็กทีฟ (Preprocessor directives) 2. ส่วนของการกำหนดค่า (Global declarations) 3. ฟังก์ชั่น setup() และ ฟังก์ชั่น loop() 4. การสร้างฟังก์ชั่น และการใช้งานฟังก์ชั่น (Users-defined function) 5. ส่วนอธิบายโปรแกรม (Program comments)

ภาษาซีของ Arduino จะจัดรูปแบบโครงสร้างของการเขียนโปรแกรมออกเป็นส่วนย่อยๆหลายๆส่วน โดยเรียกแต่ละส่วนว่า ฟังก์ชั่น และ เมื่อนำฟังก์ชั่นมารวมเข้าด้วยกัน เรียกว่า โปรแกรม โดยโครงสร้างการเขียนโปรแกรมของ Arduino นั้น ทุกๆโปรแกรมจะต้องประกอบไปด้วยฟังก์ชั่นจำนวนเท่าใดก็ได้ แต่อย่างน้อยที่สุดต้องมีฟังก์ชั่น จำนวน 2 ฟังก์ชั่น คือ setup() และ loop()

โครงสร้างพื้นฐานของภาษาซีที่ใช้กับ Arduino นั้นจะประกอบไปด้วย 3 ส่วนใหญ่ๆ ด้วยกัน คือ 1. Header ในส่วนนี้จะมีหรือไม่มีก็ได้ ถ้ามีต้องกำหนดไว้ในส่วนเริ่มต้นของโปรแกรม ซึ่งส่วนของ Header ได้แก่ ส่วนที่เป็น Compiler Directive ต่างๆรวมไปถึงส่วนของการประกาศตัวแปร และค่าคงที่ต่างๆที่จะใช้ในโปรแกรม 2. setup() ในส่วนนี้เป็นฟังก์ชั่นบังคับที่ต้องกำหนดให้มีในทุกๆโปรแกรม ถึงแม้ว่าในบางโปรแกรมจะไม่ต้องการใช้งานก็ยังจำเป็นต้องประกาศไว้ด้วยเสมอ เพียงแต่ไม่ต้องเขียนคำสั่งใดๆไว้ในระหว่างวงเล็บปีกกา {} ที่ใช้เป็นตัวกำหนดของเขตของฟังก์ชั่น โดยฟังก์ชั่นนี้จะใช้สำหรับบรรจุคำสั่งในส่วนที่ต้องกาให้โปรแกรมทำงานเพียงรอบเดียวตอนเริ่มต้นทำงานของโปรแกรมครั้งแรกเท่านั้น ซึ่งได้แก่คำสั่งเกี่ยวกับการ Setup ค่าการทำงานต่างๆ เช่น การกำหนดหน้าที่การใช้งานของ PinMode และการกำหนดค่า Boardrate สำหรับใช้งานพอร์ตสื่อสารอนุกรม เป็นต้น 3. loop() เป็นส่วนฟังก์ชั่นบังคับที่ต้องกำหนดให้มีในทุกๆโปรแกรมเช่นเดียวกันกับฟังก์ชั่น setup() โดยฟังก์ชั่น loop() นี้จะใช้บรรจุคำสั่งที่ต้องการให้โปรแกรมทำงานเป็นวงรอลซ้ำๆกันไปไม่รู้จบ ซึ่งถ้าเปรียบเทียบกับรูปแบบของ ANSI-C ส่วนนี้ก็คือ ฟังก์ชั่น main()

#include <header.h> เมื่อพบคำสั่ง #include ตัวแปลภาษาของ Arduino จะไปค้นหาไฟล์ที่ระบุไว้ในเครื่องหมาย <> หลังคำสั่ง #include จากตำแหน่ง Directory ที่เก็บไฟล์ Library ของโปรแกรม Arduino ไว้ ซึ่งแน่นอนว่าส่วนของ Header จะนับรวมไปถึง คำสั่งส่วนที่ใช้ประกาศสร้าง ตัวแปร(Variable Declaration)และค่าคงที่(Constant Declaration) รวมทั้ง ฟังก์ชั่นต่างๆ (Function Declaration) ด้วย ซึ่งจากตัวอย่างได้แก่ส่วนที่เป็นคำสั่ง

สำหรับส่วนที่สำคัญที่สุดและขาดไม่ได้ คือ ฟังก์ชั่น setup() และ ฟังก์ชั่น loop() ซึ่งฟังก์ชั่น ทั้ง 2 ส่วนนี้มีรูปแบบโครงสร้างที่เหมือนกัน โดย setup() จะเขียนไว้ก่อน loop() ซึ่งมีขอบเขต เริ่มต้นและสิ้นสุด อยู่ภายใต้เครื่องหมาย{} หน้าที่ของฟังก์ชั่น setup() ใน Arduino คือ ใช้ทำหน้าที่เป็นส่วนของโปรแกรมย่อยสำหรับใช้บรรจุคำสั่งต่างๆ ที่ใช้สำหรับกำหนดกาทำงานของระบบ หรือ กำหนดคุณสมบัติการทำงานให้กับอุปกรณ์ต่างๆซึ่งคำสั่งทั้งหมดที่บรรจุไว้ภายใต้ฟังก์ชั่นของ Setup() นี้ จะถูกเรียกขึ้นมาทำงานเพียงรอบเดียว คือ ตอนเริ่มต้นการทำงานของโปรแกรม โดยคำสั่งที่นิยมบรรจุไว้ในฟังก์ชั่นส่วนนี้ ได้แก้ คำสั่งสำหรับกำหนดโหมดการทำงานของ DigitalPin หรือ คำสั่งสำหรับกำหนดคุณสมบัติของพอร์ตสื่อสารอนุกรม เป็นต้น void setup() { คำสั่งต่างๆ ที่ต้องการเขียนไว้ภายใต้ฟังก์ชั่น setup() }

void loop() { คำสั่งต่างๆที่ต้องการให้ทำงานภายใต้ฟังก์ชั่น loop() } หน้าที่ของฟังก์ชั่น loop() ใน Arduino คือใช้ทำหน้าที่เป็นส่วนของโปรแกรมหลัก จะทำงานตามฟังชั่นวนต่อเนื่องตลอดเวลา ภายในฟังก์ชั่นจะมีโปรแกรมของผู้ใช้ เพื่อรับค่าจากพอร์ต ประมวลผลแล้วสั่งเอาต์พุตออกขาต่างๆ เพื่อควบคุมการทำงานของบอร์ด

ในทุกๆ การทำงานของฟังก์ชั่น จะต้องเริ่มด้วยการกำหนดค่าที่ส่งกลับ ตามด้วยชื่อฟังก์ชั่น แล้วตามด้วยเครื่องหมายปีกกาเปิด { และจบด้วยเครื่องหมายปีกกาปิด} ภายในฟังก์ชั่น หากจะเรียกฟังก์ชั่นใช้งานย่อยใดๆ จะต้องมีเครื่องหมายเซมิโคล่อน ; ต่อท้ายเสมอ * การกำหนดชนิดค่าที่ส่งกลับเป็น void หมายถึง ไม่มีการส่งค่ากลับ แต่สามารถใช้คำสั่ง return; ตรงๆ ได้ เพื่อให้จบการทำงานของฟังก์ชั่นก่อนจะไปถึงบรรทัดสุดท้ายของฟังก์ชั่น

ส่วนอธิบายโปรแกรม (Program comments) หมายเหตุบรรทัดเดียวและหลายบรรทัด // และ / * . . . */ เป็นส่วนของโปรแกรมที่ผู้ใช้เขียนเพื่มเติมว่าโปรแกรมทำงานอย่างไร โดยส่วนที่เป็นหมายเหตุจะไม่ถูกคอมไพล์ ไม่นำไปประมวลผล มีประโยชน์มากสำหรับการตรวจสอบโปรแกรมภายหลังหรือใช้แจ้งให้เพื่อนร่วมงานหรือบุคคลอื่นทราบว่าบรรทัดนี้ใช้ทำอะไร ตัวหมายเหตุภาษา C มี 2 ประเภทคือ 1. Comment แบบบรรทัดเดียว // Set pin 13 to output 2. Comment แบบหลายบรรทัด /*This code by IOXhop.com 17/5/2558 */

End Slide