HAL มีสองวิธีในการตั้งค่าไดรเวอร์ UART HAL เพื่อทํางานในโหมดไม่บล็อก
สไตล์ UNIX
หากใช้การเรียกฟังก์ชัน IO แบบ UNIX คุณสามารถใช้ฟังก์ชัน open() เพื่อตั้งค่า UART ให้เป็นแบบไม่บล็อก ในการทําเช่นนี้ ให้เปิดตัวอธิบายไฟล์ไปยัง UART ของคุณในลักษณะต่อไปนี้:
fd = open("/dev/",O_NONBLOCK | O_RDWR);
ตัวอธิบายไฟล์นี้ตั้งค่า UART ให้ทํางานในโหมดอ่าน/เขียนและแบบไม่บล็อก จากนั้นคุณสามารถใช้ตัวอธิบายไฟล์กับฟังก์ชัน read() และ write()
ANSI C
หากใช้การเรียกใช้ฟังก์ชัน ANSI C IO คุณจะสามารถตั้งค่าไดรเวอร์ UART HAL เพื่อทํางานในโหมดไม่บล็อกโดยใช้ fcntl() โดยคุณจะต้องอ้างอิง fcntl.h และ unistd.h ในซอร์สโค้ดของคุณ จากนั้นคุณสามารถใช้ fcntl() เพื่อตั้งค่า UART เป็นโหมดไม่บล็อก ด้านล่างนี้เป็นตัวอย่างที่ตั้งค่าช่องสัญญาณ STDIN IO ให้ทํางานในโหมดไม่บล็อก:
fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK);
สําหรับข้อมูลเพิ่มเติม คุณสามารถอ้างอิงการอ้างอิง HAL API Reference ใน คู่มือนักพัฒนาซอฟต์แวร์ Nios® II เอกสารนี้สามารถพบได้ในตําแหน่งต่อไปนี้:
การติดตั้งNios II - ไดเรกทอรีการติดตั้ง/เอกสาร/n2sw_nii5v2.pdf
® เว็บไซต์Altera - http://www.altera.com/literature/lit-nio2.jsp