لاستخدام بروتوكول هذا الاتصال , يتضمن مترجم الميكروسى المكتبة UART والتى تحتوى على الدوال الأتية :
الدالة :
كود:
UART1_Init (const unsigned long baud_rate);
تستخدم هذه الدالة لتهيئة (إعداد) الموديول USART وتحديد سرعة الاتصال عن طريق البارامتر baud_rate .
مثال :
كود:
// Initialize hardware UART1 and establish communication at 9600 bps
UART1_Init(9600);
الدالة
كود:
char UART1_Data_Ready();
تستخدم هذه الدالة فى اختبار ما إذا كان هناك بيانات بحافزbuffer الاستقبال جاهزة للقراءة فتعود بواحد وإلا فإن لم توجد بيانات فى حافز الاستقبال عادت بالصفر .
مثال :
كود:
// If data is ready, read it:
if (UART1_Data_Ready() == 1) {
receive = UART1_Read();
}
الدالة :
كود:
char UART1_Tx_Idle();
تستخدم هذه الدالة فى اختبار ما إذا كان مسجل الإزاحة الإرسال فارغ (أى تم إرسال البيانات) فتعود بواحد أما إذا كان هناك بيانات فى مسجل الإزاحة للإرسال والموديول جاهز لإرسال بيانات جديدة فتعود بالصفر .
مثال :
كود:
// If the previous data has been shifted out, send next data:
if (UART1_Tx_Idle() == 1) {
UART1_Write(_data);
}
الدالة :
تستخدم هذه الدالة فى استقبال (قراءة) بايت من حافز الدخل وتعود بالقيمة.
مثال:
كود:
// If data is ready, read it:
if (UART1_Data_Ready() == 1) {
receive = UART1_Read();
}
الدالة :
كود:
UART1_Read_Text (char * Output, char *Delimiter, char Attempts);
تستخدم هذه الدالة فى قراءة سلسلة (تتابع) الحروف المخزنة بالمتغير المشار إلية بالبارامتر Outputحتى يتم كشف تسلسل بشكل محدد delimiter sequence مبين بالبارامتر Delimiter . البارامتر Attempts يحدد عدد الحروف المتوقعة (طول النص) بالتسلسل المحدد . هذه الدالة تستدعى كوحدة واحدة حيث يتم تنفيذها عند وجود تتابع سلسلة الحروف بالشكل المحدد فإذا لم يوجد التتابع بالشكل المحدد يتم الخروج من الإحراء الموجود به الدالة
مثال :
كود:
UART1_Init(4800); // initialize UART1 module
Delay_ms(100);
while (1) {
if (UART1_Data_Ready() == 1) { // if data is received
UART1_Read_Text(output, "OK", 10); // reads text until 'OK' is found
UART1_Write_Text(output); // sends back text
}
}
الدالة :
كود:
UART1_Write(char _data);
تستخدم هذه الدالة فى إرسال بايت البيانات الموجود بالمتغير _data من خلال موديول UART .
مثال :
كود:
unsigned char _data = 0x1E;
...
UART1_Write(_data);
الدالة :
كود:
UART1_Write_Text(char * UART_text);
تستخدم هذه الدالة فى إرسال نص خلال UART ويجب أن ينتهى النص بالصفر 0 . هذا النص معطى بالبارامتر UART_text .
مثال :
كود:
UART1_Init(4800); // initialize UART1 module
Delay_ms(100);
while (1) {
if (UART1_Data_Ready() == 1) { // if data is received
UART1_Read_Text(output, "OK", 10); // reads text until 'OK' is found
UART1_Write_Text(output); // sends back text
}
}