ผลต่างระหว่างรุ่นของ "กลไกบูทโหลดเดอร์และการโปรแกรมไมโครคอนโทรลเลอร์ผ่าน UART"
Chaiporn (คุย | มีส่วนร่วม) |
Chaiporn (คุย | มีส่วนร่วม) |
||
แถว 7: | แถว 7: | ||
== ปรับแก้ไขโปรแกรมตัวอย่าง == | == ปรับแก้ไขโปรแกรมตัวอย่าง == | ||
− | + | โค้ดตัวอย่างจาก Atmel มาพร้อมกับเชลล์สคริปต์ <tt>preprocessor.sh</tt> ที่ใช้สำหรับสร้างไฟล์ <tt>defines.h</tt> ขึ้นมาเพื่อควบคุมการสร้างบูทโหลดเดอร์ให้สอดคล้องกับวงจรที่ออกแบบขึ้น ให้รันสคริปต์นี้โดยระบุรุ่นของชิป ขนาดของบูทโหลดเดอร์ หมายเลขพอร์ทที่ใช้กำหนดเงื่อนไขการเข้าบูทโหลดเดอร์ ความถี่สัญญาณนาฬิกา และบอดเรทสำหรับพอร์ทอนุกรม แล้วบันทึกผลลัพธ์ที่ได้ไว้ในไฟล์ <tt>defines.h</tt> | |
− | + | เพิ่มคำสั่งสองบรรทัดนี้เข้าไปที่ท้ายสุดของไฟล์ <tt>defines.h</tt> เนื่องจากชิป ATMega168 ใช้ชื่อบิตสำหรับควบคุมการเขียน EEPROM ที่แตกต่างไปจากชิปตระกูล AVR เบอร์อื่น ๆ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
#define EEMWE EEMPE | #define EEMWE EEMPE | ||
#define EEWE EEPE | #define EEWE EEPE | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
รุ่นแก้ไขเมื่อ 05:30, 20 กรกฎาคม 2559
ชิปไมโครคอนโทรลเลอร์ที่นำมาใช้นั้นต้องอาศัยการโปรแกรมผ่านเครื่องโปรแกรมชิป วิกินี้จะอธิบายถึงการเตรียมและบรรจุบูทโหลดเดอร์ลงไปในชิปเพื่อให้ตัวชิปสามารถโหลดโปรแกรมผ่านทางพอร์ทอนุกรมของคอมพิวเตอร์โดยไม่ต้องอาศัยเครื่องโปรแกรมชิปอีกต่อไป
บูทโหลดเดอร์สำหรับชิป AVR
ศึกษาเอกสารเกี่ยวกับ Self-Programming บนชิป AVR และดาวน์โหลดโปรแกรมตัวอย่างจากลิ้งค์ต่อไปนี้
ปรับแก้ไขโปรแกรมตัวอย่าง
โค้ดตัวอย่างจาก Atmel มาพร้อมกับเชลล์สคริปต์ preprocessor.sh ที่ใช้สำหรับสร้างไฟล์ defines.h ขึ้นมาเพื่อควบคุมการสร้างบูทโหลดเดอร์ให้สอดคล้องกับวงจรที่ออกแบบขึ้น ให้รันสคริปต์นี้โดยระบุรุ่นของชิป ขนาดของบูทโหลดเดอร์ หมายเลขพอร์ทที่ใช้กำหนดเงื่อนไขการเข้าบูทโหลดเดอร์ ความถี่สัญญาณนาฬิกา และบอดเรทสำหรับพอร์ทอนุกรม แล้วบันทึกผลลัพธ์ที่ได้ไว้ในไฟล์ defines.h
เพิ่มคำสั่งสองบรรทัดนี้เข้าไปที่ท้ายสุดของไฟล์ defines.h เนื่องจากชิป ATMega168 ใช้ชื่อบิตสำหรับควบคุมการเขียน EEPROM ที่แตกต่างไปจากชิปตระกูล AVR เบอร์อื่น ๆ
#define EEMWE EEMPE #define EEWE EEPE