คำถามติดแท็ก sram

8
ใช้ malloc () และฟรี () เป็นความคิดที่ไม่ดีจริงๆใน Arduino หรือไม่?
การใช้งานmalloc()และfree()ดูเหมือนว่าค่อนข้างหายากในโลก Arduino มันถูกใช้ใน AVR C บริสุทธิ์บ่อยกว่า แต่ก็ยังมีความระมัดระวัง มันเป็นความคิดที่ดีที่จะใช้malloc()และfree()กับ Arduino?

5
ฉันใช้ RAM มากเกินไป สิ่งนี้จะวัดได้อย่างไร
ฉันอยากรู้ว่าฉันใช้ RAM เท่าใดในโครงการเท่าที่ฉันสามารถบอกได้ว่าไม่มีวิธีการทำงานจริง ๆ (นอกเหนือจากการผ่านและคำนวณด้วยตนเอง) ฉันได้ขึ้นเวทีในโครงการที่ค่อนข้างใหญ่ซึ่งฉันตัดสินใจแล้วว่า RAM ของฉันหมด ฉันได้พิจารณาสิ่งนี้เพราะฉันสามารถเพิ่มหัวข้อและจากนั้นนรกทั้งหมดก็หลุดไปที่อื่นในรหัสของฉันโดยไม่มีเหตุผลที่ชัดเจน ถ้าฉันมี#ifndefอย่างอื่นมันก็ใช้งานได้อีก ไม่มีอะไรผิดปกติทางโปรแกรมกับรหัสใหม่ ฉันสงสัยว่าในขณะที่ฉันไปถึงจุดจบของ RAM ที่มีอยู่ ฉันไม่คิดว่าฉันใช้สแต็กมากเกินไป (แม้ว่าจะเป็นไปได้) วิธีที่ดีที่สุดในการพิจารณาจำนวนแรมที่ฉันใช้จริงคืออะไร เมื่อผ่านไปและพยายามที่จะทำงานออกมาฉันมีปัญหาเมื่อฉันไปหา enums และ structs; หน่วยความจำมีราคาเท่าใด แก้ไขครั้งแรก : นอกจากนี้ฉันได้แก้ไขร่างของฉันตั้งแต่เริ่มต้นสิ่งเหล่านี้ไม่ใช่ผลลัพธ์ที่แท้จริงที่ฉันได้รับในตอนแรก แต่เป็นสิ่งที่ฉันได้รับตอนนี้ text data bss dec hex filename 17554 844 449 18847 499f HA15_20140317w.cpp.elf 16316 694 409 17419 440b HA15_20140317w.cpp.elf 17346 790 426 18562 4882 HA15_20140317w.cpp.elf …
19 sram 

5
ฉันสามารถรับคืนได้เท่าไหร่ ฉันสามารถรับคืนได้เท่าไหร่ เท่าไหร่ ca! @ # QFSD @ $ RFW
บอร์ด Arduino Uno มี RAM จำกัด ซึ่งหมายความว่ามีสแต็กการโทรที่ จำกัด บางครั้งการเรียกซ้ำเป็นเพียงตัวเลือกด่วนในการใช้อัลกอริทึมที่แน่นอน ดังนั้นเนื่องจาก call stack มีข้อ จำกัด อย่างรุนแรงสิ่งที่จะเป็นวิธีการค้นหาว่ามีบางโปรแกรมที่ทำงานอยู่บนบอร์ดคุณสามารถซื้อได้หลายครั้งก่อนที่จะเกิด stack overflow (และสิ่งเลวร้ายเกิดขึ้น)?
19 programming  sram 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.