ทำให้ต้องที่การจัดการ Library ที่ต่างกันด้วย
Include Section
ในนำ Library มาใช้งานเราจะทำการ Include ไฟล์เข้ามาซึ่งจะมีอยู่ีด้วยกันสองส่วน คือ
- ไฟล์ที่ทำ Define ค่าต่างๆ ของ MCU ที่เราจะใช้งาน และจัดการ Library (global.h)
- ไฟล์ที่เป็น Method หรือ Function ต่างๆ ที่ Library รองรับ (Ex uart.h เป็นต้น)
Procyon Library ได้ทำการแยกไฟล์ที่ใช้ Define ออกเป็นสองส่วน ภายในไฟล์ global.h
1. ไฟล์ที่กำหนด Macro ต่างๆ (armlibdefs.h / avrlibdefs.h) เพื่อให้สื่อถึงความหมายของการกระทำ แทนรูปแบบเครื่องหมาย
[Ex] BIT(n) <=> (1 << (n)) เป็นต้น
2. ไฟล์ที่กำหนดรูปแบบของข้อมูล (armlibtypes.h / avrlibtypes.h) ซึ่งแสดงถึงขนาด และความหมายเฉพาะ เพื่อช่วยในการใช้งานข้อมูลในรูปแบบที่เหมาะสม
[Ex] unsigned char <=> u08, MAX_U08 <=> 255 เป็นต้น
ทั้งสองส่วนนี้จะเปลี่ยนแปลงตามโปรเจคที่ต่างกัน
นอกจากสองส่วนนี้ยังมีส่วนที่สำคัญอื่นๆ ภายใน global.h อีกนั้นคือ
ส่วนการกำหนดลักษณะทำงานของตัว Processor
MCU Base Define
โดยพื้นฐานแล้วการทำงานของ Processor นั้นจะมีลักษณะการทำงานที่ต่างกัน และ MMCU ช่วยกำหนด Platform [AVR และ ARM นั้นมีการกำหนดที่ต่างกัน]
ส่วนการทำงานพื้นฐานของ Processor ที่สามารถกำหนดได้ผ่าน global.h
- ARM ฺBase Function
- Phase Locked Loop [ส่งผลถึงความถี่ในการทำงาน]
- Peripheral Bus Bus Speed Divider [ส่งผลถึงการจัดการความเร็ว Bus ภายใน]
- AVR Base Function
- CPU Clock Speed [ความถี่ในการทำงาน]
เพิ่มเติม
นอกจากสองส่วนคือ Include Section และ MCU Base Define ยังมีส่วนเพิ่มเติมที่ช่วยในการพัฒนาอีกอย่างคือ
ในส่วนท้ายสุดได้มีการ Define เพื่อตรวจสอบการกำหนด MCU Base Define ผิดพลาดด้วย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น