การเขียนProgram ระดับLOW Level ของ SAM3X8E (Arduino DUE)โดยผ่าน Arduino IDE

Started by AnutSangka, April 01, 2013, 09:18:41 PM

Previous topic - Next topic

AnutSangka

สวัสดีครับ  ผมเคยกล่าวถึงวิธีการเขียนโปรแกรมลงบน Arduino DUE ผ่าน Atmel Studio 6  แล้วอัดโปรแกรมลง  SAM-BA แล้ว

วันนี้ผมจะมานำเสนอวิธีการเขียนโปรแกรมโดยเรียกใช้ Atmel software Framework ผ่าน Arduino IDE(Sketch)ครับ

ก่อนอื่นเลยที่Sketch

ไปที่ Sketch Tab bar ด้านบน เลือก Add File

จากนั้น เลือก ไปที่ Arduino -> hardware -> arduino -> sam -> system ->libsam->include
จากนั้นเลือก File libraryที่ต้องการเลือกเลยครับ

ในที่นี้ผมเลือก sam3x8e.h  pio.h และ pio_sam3x8e.h ครับ

มาที่ไฟล์หลักของ Sketch ลองพิมพ์Code ตามนี้เลยครับ จะเป็นการทำไฟกระพริพที่ LED on board ของ Arduino Due (ขา PB27 ของ sam)

#define DISIBLE 0
#define ENABLE 1
#define LED0_GPIO_MASK  (1u<<27) // or #define LED0_GPIO_MASK PIOB_PB27
void setup()
{
  pmc_enable_periph_clk(ID_PIOA);
  PIO_SetOutput(PIOB, PIO_PB27, LOW, DISIBLE, ENABLE);

}
void loop()
{
  PIOB->PIO_SODR = LED0_GPIO_MASK ;
  delay(1000);
  PIOB->PIO_CODR = LED0_GPIO_MASK ;
  delay(1000);
}


ข้อดีกว่าการเขียนบน Atmel studio แล้วอัดผ่าน SAM-BA

1.  ใช้ Arduino IDE จึงเร็วกว่า Atmel studio
2.  สามารถ Burn โปรแกรมได้ง่ายไม่ยุกยาก
3.  พัฒนาควบคู่กับlibrary ของ Arduino.cc ได้

ข้อด้อยกว่า
1. เช็คค่าฟังก์ชั่น Add library ค่อนข้างวุ่นวาย
2. ไม่รองรับการDebug