Hello world I am AVR part III

    ดำเนินมาจนถึงตอนสุดท้าย ของการเริ่มต้นทักทายชาวโลกแล้วครับ หากใครยังไม่ได้อ่าน ตอนที่ 1 และ ตอนที่ 2  ขอให้กลับไปอ่านก่อนนะครับ มาถึงตอนนี้ เราจะมาว่ากันด้วยเรื่องการบรรจุ hex file ที่ได้จากกระบวนการ Compile เพื่อให้ไมโครคอนโทรลเลอร์ หรือคอมพิวเตอร์จิ๋วของเราทำงานต่อไป 
    ในส่วนของไมโครคอนโทรลเลอร์ของค่าย AVR จะมีส่วนแตกต่างจากไมโครคอนโทรลเลอร์ค่ายอื่นๆ ในเรื่องของ Fuse bit (อ่านเพิ่มเติม ที่นี่) ซึ่งในขั้นตอนการทำ Fuse bit นั้นเราจะทำเฉพาะครั้งแรกครั้งเดียว หรือเมื่อมีการเปลี่ยนแปลงแหล่งกำเนิดสัญญาณนาฬิกา และจะต้องเช็คจากคู่มือของโปรแกรมที่มาพร้อมกับเครื่องโปรแกรมนั้นๆ ด้วย ว่ามีการกำหนดค่าเป็นอย่างไร บางครั้งค่า default ที่มากับโปรแกรมเหล่านั้น อาจทำให้การโปรแกรมมีปัญหาได้ ทางที่ดี ศึกษาจากคู่มือของโปรแกรมนั้นๆ ดีที่สุด 
    ในส่วนของการโปรแกรม บางครั้งเรามักได้ยินบางท่านเรียกว่า การเบิร์น นั้น มีเรื่องที่ต้องทราบก็คือ ที่ตัวไอซีไมโครคอนโทรลเลอร์จะมีขา ที่ไว้สำหรับทำการอัด hex file เข้าผ่านทางนั้น ซึ่งเมื่อย้อนกลับไปดูที่ Figuer 1.1  Pinout Atmega48/88/168 ในคู่มือ

Atmega48V pin diagram
    จะเห็นว่า ขาที่เขียนว่า MOSI , MISO , SCK นั่นแหละทำหน้าที่ในการอัดข้อมูลลงที่ไมโครคอนโทรลเลอร์ หน้าที่ของเราก็คือ ทำให้ connector ที่อยู่ที่เครื่องโปรแกรมตรงกับขาเหล่านี้ ส่วนตำแหน่งของ connector ของเครื่องโปรแกรม เราสามารถเช็คได้จากคู่มือของมัน ซึ่งถ้าหากเป็นบอร์ดสำเร็จรูปแล้ว ผู้ผลิตมักจะทำช่องสำหรับโปรแกรมไว้เสมอ หน้าที่เราก็แค่เช็คให้ตรงกันระหว่างเครื่องโปรแกรม และบอร์ด AVR  แต่ถ้าเป็นบอร์ดที่ทำขึ้นมาเองก็ต้องจัดหาช่องทางสำหรับโปรแกรมไว้ด้วย เพราะเราจำเป็นต้องใช้ขาเหล่านี้บ่อยๆ  
ลองศึกษาจากเอกสารของเครื่องโปรแกรม ET-AVR ISP mkII ของค่าย ETT เำพื่อความเข้าใจเพิ่มเติมครับ