4
เลขคณิตจุดคงที่บนไมโครคอนโทรลเลอร์
บ่อยครั้งที่เราใช้ไมโครคอนโทรลเลอร์เพื่อทำสิ่งต่าง ๆ ในโรบ็อตของเรา แต่ต้องทำการคำนวณเป็นทศนิยม การใช้ตัวแปร floating point นั้นช้ามากเนื่องจากมีการรวมไลบรารี่ของซอฟต์แวร์ไว้ด้วยโดยอัตโนมัติ (เว้นแต่คุณจะมีไมโครคอนโทรลเลอร์ระดับสูง) ดังนั้นโดยทั่วไปเราใช้เลขคณิตจุดคงที่ เมื่อใดก็ตามที่ฉันทำเช่นนี้ฉันแค่ใช้จำนวนเต็มและจำไว้ว่าตำแหน่งทศนิยมอยู่ที่ไหน อย่างไรก็ตามมันจะใช้ความระมัดระวังเพื่อให้แน่ใจว่าทุกอย่างสอดคล้องกันโดยเฉพาะเมื่อการคำนวณเกี่ยวข้องกับตัวแปรที่จุดทศนิยมอยู่ในตำแหน่งที่แตกต่างกัน ฉันได้ใช้ฟังก์ชั่นจุดคงที่ atan2 แต่เนื่องจากฉันพยายามบีบความแม่นยำที่ จำกัด ครั้งสุดท้าย (16 บิต) ฉันมักจะเปลี่ยนคำจำกัดความของตำแหน่งทศนิยมว่าเป็นทศนิยมและมันจะเปลี่ยนเมื่อฉันบิดมัน นอกจากนี้ฉันจะมีค่าคงที่บางอย่างเช่นตารางค้นหาเสมือนซึ่งตัวเองมีจุดทศนิยมโดยนัยอยู่ที่ไหนสักแห่ง ฉันต้องการทราบว่ามีวิธีที่ดีกว่า มีห้องสมุดหรือชุดของแมโครที่สามารถลดความซับซ้อนในการใช้ตัวแปรจุดคงที่ทำให้การคูณและการหารระหว่างตัวแปรผสมง่ายขึ้นและช่วยให้การประกาศตัวเลขทศนิยมหรือนิพจน์คงที่ แต่จะแปลงเป็นตัวแทนจุดคงที่ที่ต้องการโดยอัตโนมัติ เวลา?
12
microcontroller
c