การแก้ไขปัญหาเวลาแฝงแบบอนุกรมของ Arduino

March 10, 2023 0 By cngf

[Paul] เขียนเพื่อบอกเราเกี่ยวกับปัญหาเวลาแฝง Arduino ที่น่าสนใจที่เขาช่วยเล็บและแก้ไขบน Arduino

ดูเหมือนว่า [Michu] มีปัญหากับการควบคุมโครงการ Rainbowduino ของเขาที่เราให้ความสำคัญกับปีนี้และเขาคิดไม่ไกลว่าทำไมเขาถึงประสบความล่าช้าครั้งใหญ่เมื่อส่งและรับข้อมูล

การค้นหาออนไลน์สำหรับคำตอบที่ปรากฏขึ้นน้อยมากและเพราะ [Michu] กำลังใช้การประมวลผลทั้งคู่ได้พัฒนาชุดของการทดสอบเพื่อดูว่ามีการแนะนำให้ใช้เวลาแฝงแบบไหนที่ Java Pitting arduino uno และ Arduino จากปี 2009 กับ TEENSY 2.0 การทดสอบวัดเวลาแฝงของการถ่ายโอนข้อมูลพื้นเมืองเมื่อเทียบกับการถ่ายโอนโดย Java ผ่านไลบรารี RXTX ที่ใช้สำหรับการสื่อสารแบบอนุกรม

ผลลัพธ์นั้นสวยงามน่าทึ่ง ในขณะที่ทั้งคู่ Arduinos ล้าหลัง Teensy ด้วยการยิงยาวค่าเวลาแฝงของพวกเขาภายใต้ Java อยู่เสมอ 20ms อย่างน้อยที่สุด – บางสิ่งบางอย่างไม่ได้เพิ่มขึ้น [Michu] แหย่ในรหัส RXX และพบความล่าช้าลึกลับ 20ms ที่ตั้งโปรแกรมไว้ในห้องสมุดอนุกรม มันไม่สมเหตุสมผลกับเขาดังนั้นเขาจึงเปลี่ยนความล่าช้าเป็น 2ms และเห็นการเพิ่มประสิทธิภาพอย่างมากเมื่อถ่ายทอดข้อมูลน้อยกว่า 128 ไบต์

การแก้ไขของทั้งคู่ดูเหมือนจะไม่ส่งผลต่อเวลาแฝงเมื่อมีการถ่ายโอนข้อมูลจำนวนมาก (> 1kb) แต่มันทำให้โลกแห่งความแตกต่างเมื่อจัดการกับชิ้นส่วนที่เล็กกว่าของข้อมูล

เพื่อประโยชน์ของการเปิดเผยมันควรจะสังเกตว่า บริษัท [Paul’s] สร้าง MCU Teensy