Arduino Mega 2560 เพิ่มหน่วยความจำภายนอก 32K
##ภาพรวม
ATMEGA CPU สำหรับ Arduino มีข้อเสียเปรียบประการหนึ่งในด้านคุณสมบัติฮาร์ดแวร์ นั่นคือหน่วยความจำข้อมูล (RAM) นั้นไม่เพียงพอ เนื่องจากสถาปัตยกรรม CPU อาร์เรย์ข้อมูลคงที่จะใช้หน่วยความจำ RAM หากคุณต้องการควบคุมการเข้าถึง
สำหรับ ATMEGA 2560 มีบัสหน่วยความจำภายนอกเพื่อเพิ่ม SRAM (ข้อมูล) มากถึง 64K (หน่วยความจำภายในที่ทับซ้อนกัน) ในโปรเจ็กต์นี้ เราเพิ่มหน่วยความจำ 32K จากที่อยู่ 0x8000 ถึง 0xFFFF เท่านั้น ด้วย RAM ภายใน 8K คุณจะมี RAM ทั้งหมด 40K
แน่นอนเราสามารถกำหนดค่า RAM ของโปรแกรม (สแต็กและฮีป) ที่หน่วยความจำภายนอกนี้ได้ แต่เราอาจละทิ้งหน่วยความจำ 8k ภายในออกไป โปรเจ็กต์นี้กำหนดค่าหน่วยความจำภายนอกเป็นฮีปเพื่อให้ยังคงใช้หน่วยความจำ 8K ภายในเหมือนเมื่อก่อน คุณต้องจัดสรรหน่วยความจำภายนอกก่อนใช้งาน โปรแกรมตัวอย่างสาธิตการใช้งาน
เพิ่มเนื้อหาของไฟล์ platformboards.txt ลงในไฟล์ [ARDUINO INSTALL FOLDER]hardwarearduinoavrboards.txt ก่อนที่คุณจะคอมไพล์โปรเจ็กต์ xmem32k ให้เลือกบอร์ด Tools->board->Mega with heap 32K external RAM
เอกสารข้อมูล ATMEGA 2560 มีข้อมูลวิธีการเพิ่มหน่วยความจำภายนอก ฮาร์ดแวร์ Arduino UNO ไม่มีบัสหน่วยความจำภายนอก
สัญญาณ | ท่าเรือ | หมายเลขพินที่กำหนดโดย Arduino |
---|---|---|
วรอ | (PG0) | 41 |
ถ | (PG1) | 40 |
เบียร์ | (PG2) | 39 |
AD0-AD7 | (PA0-PA7) | 22, 23, ..., 29 |
A8-A15 | (PC0-PC7) | 37, 36, ..., 30 |