การพัฒนาไมโครคอนโทลเลอร์
SourceCode --Compile---> Hexfile.hex ====> เครื่องโปรแกรม MCU ----->MCU
- SourceCode เป็น Text file ใช้ Editor ทั่วไปแก้ไขได้ แต่ Editor ที่ออกแบบมาเฉพาะกิจ จะมีตัวอำนวยความสะดวกมากกว่า ทำให้ใช้ง่ายกว่า
- การ Compile คือการแปลง SourceCode เป็นภาษาเครื่อง Hexfile ส่วนตัว Compile เรียกว่า Compiler
ซึ่งจะต้องใช้ให้ตรงกับ MCU ที่เราใช้
- Hexfile เป็นภาษาเครื่อง ที่ใช้โปรแกรมลง MCU ครับ
หาเราต้องการแก้ไข ก็ต้องไปแก้ไขที่ SourceCode แล้ว Compile เป็น Hexfile ใหม่ครับ
- ส่วนโปรแกรมที่รวม Editor+Compile+Tools ไว้ในโปแกรมเดียวครับ
เรียกว่า Integrated Development Environment (IDE)
- MPLAB IDE เป็นของ Microchip ซึ่งมี Compiler Assembly แถมมาด้วย
- MPLAB C16, C18 , C30 , C32 เป็น Compiler ของภาษา C ที่เราต้อง Install เพิ่มและต้องเลือกให้ตรงกับ เบอร์ที่เราใช้ด้วย
- เราสามารถใช้ Editor+Tools ของ MPLAB IDE ในการพัฒนาภาษาอื่นได้แต่ต้อง config directory และ Path ของ Compiler ที่จะใช้นั้นใหม่ด้วย
- ทำไมมีหลายไฟล์ ผมขอพูดแบบคอมไพล์เลอร์ทั่วๆ ไปแล้วกันครับ
ไฟล์ของภาษาซี
- ภาษาซีประกอบไปด้วยอย่างน้อย 1 ไฟล์ เช่น Project1.c ซึ่งประกอบไปด้วยฟังก์ชัน main()
ซึ่งเราอาจกำหนดค่าต่างๆ ไว้ในไฟล์นั้นในส่วนบนก็ได้
- หรือไม่ให้เกะกะ จะกำหนดค่าต่างๆ ไว้ใน file.h ก็ได้แล้วใช้คำสั่ง
#include <file.h> นั้นเขามาในไฟล์เรา
- เมื่อเราเขียนฟังก์ชั่นการทำงานนั้นเรียบร้อยแล้ว ไม่ต้องแก้ไขอีกแล้ว เราก็อาจแยกฟังชั้นนั้นไปเป็น LCD.c แล้วใช้คำสั่ง
#include <LCD.C> ซึ่งสามารถเรียกใช้รวมกันจากหลายๆ ไฟล์ได้ทำให้โค๊ดไม่ใหญ่
เวลาแก้ไขไฟล์ใน LCD เพื่อเพิ่มฟังก์ชั่นใหม่ หรือแก้ไขข้อผิดพลาดเราก็ Compile ใหม่เท่านั้น ไม่ต้องไปตามแก้ภายในของทุกไฟล์
ไฟล์ของ Compiler
เมื่อ Compile แล้ว จะพบไฟล์ต่างๆ เพิ่มขึ้นมา เช่น *.mcp Project ไฟล์, *.map MAP ไฟล์, *.mcw Work space , รวมทั้ง Hex ไฟลืด้วย
ซึ่งก็ประกอบไปด้วยส่วนที่ใช้ในการ debug ส่วนใหญ่เราจะสนใจ Hex ไฟล์เพียงอย่างเดียว นอกนั้นเราไม่ได้ใช้
คุณ Richii_MCU ใช้ MCU เบอร์อะไรครับ ยังไม่ได้บอกเลย ไฟล์ที่ Attatch มาก็โหลดไม่ได้ครับ
เพราะต้องเลือกเบอร์ให้ตรงกับ Complier C16, C18 , C30 , C32 ด้วยครับ
ส่วนในการ config directory และ Path ของ Compiler ลองดู
http://cesdsp-student-club.blogspot.com/2010/11/pic-tutorial-by-joe-mplab.htmlหรืออาจใช้ keyword "การใช้งาน mplab C18" search ใน goodle เพิ่มเติมดูนะครับ
เพิ่มเติมครับ MPLABŪ C18 C COMPILER GETTING STARTED - Microchip
http://ww1.microchip.com/downloads/en/devicedoc/51295e.pdfExample 1 หน้า 24 เป็นตัวย่างที่เข้าใจง่ายครับ