วิธีล้างหน่วยความจำ Arduino

Withi Lang Hnwy Khwam Ca Arduino



การล้างหน่วยความจำของ Arduino เป็นสิ่งสำคัญ เนื่องจากหากคุณคอมไพล์และอัปโหลดโปรแกรมเก่าในวงจรใหม่ของคุณโดยไม่ได้ตั้งใจ ค่ากระแสและแรงดันที่ตั้งไว้สำหรับวงจรเก่าอาจเกินขีดจำกัดกระแสและแรงดันสำหรับวงจรใหม่ ส่งผลให้วงจรใหม่ของคุณเสียหาย ในคู่มือนี้ เราจะเน้นที่วิธีการล้างหน่วยความจำ Arduino แต่ก่อนหน้านั้น มาทำความเข้าใจประเภทของความทรงจำที่ Arduino มีก่อน

ประเภทของความทรงจำใน Arduino

Arduino มาพร้อมกับหน่วยความจำ SRAM, Flash และ EEPROM สามประเภท หนึ่งในนั้นคือ Volatile และอีกสองตัวที่เหลือคือ Non-Volatile หน่วยความจำระเหยจะลบข้อมูลเมื่อคุณถอดกำลังไฟฟ้าเข้า ในทางกลับกัน หน่วยความจำแบบไม่ลบเลือนจะเก็บข้อมูลไว้แม้ว่าคุณจะถอดไฟ DC อินพุตหรือรีเซ็ต Arduino ก็ตาม







ด้านล่างนี้ฉันได้อธิบายสั้น ๆ เกี่ยวกับหน่วยความจำสามประเภทและสิ่งที่พวกเขาเก็บไว้:



แฟลช : เป็นประเภทของหน่วยความจำที่เก็บร่าง Arduino ของเรา เมื่อคุณรีเซ็ตข้อมูล Arduino จะยังคงถูกบันทึกไว้ในนั้น



SRAM : SRAM (Static Random Access Memory) สร้างและจัดเก็บตัวแปรทุกประเภทและเล่นกับตัวแปรเหล่านี้เมื่อเรียกใช้ในโปรแกรม เมื่อคุณรีเซ็ต Arduino เนื้อหาทั้งหมดถูกลบ





EEPROM : (หน่วยความจำแบบอ่านอย่างเดียวที่เขียนโปรแกรมได้แบบลบได้ด้วยไฟฟ้า) จัดเก็บข้อมูลที่จะเก็บไว้เป็นระยะเวลานานขึ้น จะเก็บข้อมูลไว้แม้ว่ากำลังไฟฟ้าเข้าจะสูญหาย ฉันอยากจะแนะนำ EEPROM เพราะมันมีความน่าเชื่อถือมากกว่าเมื่อพูดถึงการจัดการหน่วยความจำ EEPROM เป็นเหมือนฮาร์ดไดรฟ์ที่มีอยู่ในพีซี EEPROM จะจดจำโปรแกรมล่าสุดที่คุณรันโดยใช้ Arduino

จำนวนไบต์ทุกที่เก็บหน่วยความจำขึ้นอยู่กับไมโครคอนโทรลเลอร์ที่คุณใช้ด้านล่าง ฉันได้กล่าวถึงความจุหน่วยความจำของไมโครคอนโทรลเลอร์สองตัว:



ประเภทหน่วยความจำ ATmega328P ATmega2560
แฟลช 32K ไบต์ 256K ไบต์
SRAM 2K ไบต์ 8K ไบต์
EEPROM 1K ไบต์ 4K ไบต์

วิธีล้างหน่วยความจำ Arduino

เรามีทางเลือกสองสามทางในการล้างหน่วยความจำ Arduino ของเรา:

  • ง่ายสุดก็แค่กด รีเซ็ต มีปุ่มอยู่บนบอร์ด Arduino
  • เข้าร่วมหมุด RX และ GND
  • กำลังอัปโหลดร่างขั้นต่ำเปล่า

ตอนนี้ เราจะพูดถึงรายละเอียดสามวิธีเหล่านี้โดยละเอียด:

1: ใช้ปุ่มรีเซ็ตเพื่อล้างหน่วยความจำ

วิธีที่ง่ายที่สุดในการรีเซ็ต Arduino ของคุณคือการกดปุ่ม รีเซ็ต ปุ่มที่เน้นในภาพด้านบน:

การกดปุ่มนี้จะไม่ลบภาพสเก็ตช์ที่จัดเก็บไว้แล้ว แต่จะล้างเฉพาะ ระเหย หน่วยความจำเช่น RAM โปรแกรมที่เก็บไว้จะรีสตาร์ทและข้อมูลเช่นตัวแปรพอยน์เตอร์คำสั่งและการลงทะเบียนที่เก็บไว้ใน RAM จะชัดเจน

ทำตามขั้นตอนเหล่านี้เพื่อล้าง Arduino Memory (RAM) โดยใช้ปุ่มรีเซ็ต:

ขั้นตอนที่ 1 : ตัดการเชื่อมต่อ Arduino Power

ขั้นตอนที่ 2 : ตอนนี้ให้กดปุ่มรีเซ็ตค้างไว้ในขณะที่เปิด Arduino ของคุณโดยเชื่อมต่อกับแหล่งจ่ายไฟ

2: การล้างหน่วยความจำ Arduino โดยใช้ RX และ GND Pins

วิธีที่สองในการล้างหน่วยความจำ Arduino คือการใช้พิน RX และ GND ทำตามขั้นตอนที่กล่าวถึงด้านล่าง:

ขั้นตอนที่ 1 : ถอดสายเคเบิลอนุกรม USB ซึ่งจะเป็นการปิด Arduino ของคุณ การสื่อสารแบบอนุกรมบนบอร์ด Arduino ทำได้โดยใช้สองพิน RX และ TX การถอดสาย USB จะทำให้พินทั้งสองนี้ว่าง

ขั้นตอนที่ 2 : ตอนนี้เข้าร่วมพิน Rx และ GND ในระหว่างนั้นใช้ตัวต้านทาน (20kOhm) เพื่อรักษาขีด จำกัด กระแสไฟที่ปลอดภัย

ขั้นตอนที่ 3 : ถอดพิน RX เปิดเครื่อง Arduino โดยใช้สาย USB แต่ก่อนที่จะถอดพิน RX ออกก่อน

ขั้นตอนที่ 4 : เปิด Arduino IDE ของคุณและอัปโหลดภาพสเก็ตช์ง่ายๆ หรือภาพสเก็ตช์ 'Bare Minimum' จากไลบรารี Arduino

ขั้นตอนที่ 5 : อีกครั้ง ให้ถอดสาย USB ที่ Arduino ของคุณจะปิดอีกครั้ง การทำเช่นนี้จะทำให้มั่นใจได้ถึงขีดจำกัดปัจจุบันระหว่างพอร์ตเทอร์มินัลสองพอร์ต RX และ GND

ขั้นตอนที่ 6 : เนื่องจากเราได้ถอดสาย USB ออกแล้ว จึงตัดการเชื่อมต่อทั้งขั้ว RX และ GND

ขั้นตอนที่ 7 : สุดท้าย เชื่อมต่อบอร์ด Arduino ของคุณกับพีซีโดยตรงโดยใช้พอร์ต COM

3: การล้างหน่วยความจำ Arduino โดยการอัปโหลดภาพร่างเปล่า

สมมติว่าคุณไม่ต้องการใช้สายเพื่อล้างหน่วยความจำ Arduino ดังนั้นวิธีอื่นในการทำคือการอัปโหลดภาพร่างเปล่าหรือที่เรียกว่าภาพร่าง 'Bare Minimum' เพื่อล้างหน่วยความจำ Arduino ของคุณ

ก่อนอัปโหลดแบบร่าง “ขั้นต่ำเปล่า” ให้ทำตามขั้นตอนด้านล่างก่อน:

ขั้นตอนที่ 1 : ถอดสาย USB เพื่อถอด Arduino ออกจากแหล่งพลังงาน

ขั้นตอนที่ 2 : กดปุ่ม Windows จากแป้นพิมพ์และพิมพ์ ตัวจัดการอุปกรณ์ จากนั้นคลิกเปิด

ขั้นตอนที่ 3 : มันจะเปิดหน้าต่างใหม่ ตอนนี้เลื่อนลงไปที่ COM & LPT ส่วน.

ขั้นตอนที่ 4 : ค้นหาและเลือก พอร์ต COM ที่ Arduino เชื่อมต่ออยู่

ขั้นตอนที่ 5 : คลิกขวาแล้วกด คุณสมบัติ จากเมนูแบบเลื่อนลง จากนั้นเลือก 'การตั้งค่าพอร์ต' และเปลี่ยน 'การควบคุมการไหล' เป็น ฮาร์ดแวร์ .

ตอนนี้คุณได้ตั้งค่าฮาร์ดแวร์ของคุณแล้ว ก็ถึงเวลาอัปโหลดแบบร่าง 'Bare Minimum' ในบอร์ด Arduino ของคุณ ด้านล่างฉันได้แสดงภาพสเก็ตช์เปล่าซึ่งแทนที่ภาพร่างก่อนหน้าที่คุณอัปโหลดและบอกให้ Arduino ตั้งค่าอะไรและไม่วนซ้ำ

// ร่างขั้นต่ำเปลือย
การตั้งค่าเป็นโมฆะ ( )
{

}
วงโมฆะ ( )
{
ล่าช้า ( 500 ) ;
}

บทสรุป

สมมติว่าคุณไม่ได้ใช้ Arduino มาระยะหนึ่งแล้ว และตอนนี้คุณต้องการเชื่อมต่อกับวงจรใหม่ และคุณจำโปรแกรมสุดท้ายที่คุณอัปโหลดในนั้นไม่ได้ ดังนั้นภาพร่างก่อนหน้านี้อาจสร้างความเสียหายให้กับวงจรใหม่ของคุณ คุณควรอัปโหลด “ Blank Sketch” หรือใช้โปรแกรม LED Blink ที่มาพร้อมกับ Arduino และมันสามารถบันทึกวงจรของคุณจากความเสียหายใดๆ