تدريبات متدرجة :
التدريب الأول :
الكتابة التسلسلية
البرنامج التالى مصمم لإرسال الحرف "A" عن طريق القناة التسلسلية للميكروكونترولر PIC بسرعة (معدل) 9600 bps (bits per second) :
كود:
/ *Purpose: This program aims to send over the serial RS232
character "A" & 9600 baud, N, 8, 1
* /
void main () {
UART1_Init(9600); // Initialize UART module at 9600 bps
UART1_Write('A'); // and send "A" via UART
while (1);
}
البرنامج السابق له مهمة واحدة هى إرسال الحرف "A" لمرة واحدة عن طريق RS232 بسرعة
9600 bps.
التفاصيل :
الدالة UART1_Init(9600) مهمتها تهيئة موديول UART لبدء عمل الاتصال التسلسلى وتحديد سرعة الاتصال بالقيمة 9600 bps . يمكننا تحديد أى سرعة أخرى مثل :
110, 220, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 56000, 57600
الدالة UART1_Write('A') مهمتها أرسال الحرف 'A' من خلال قناة الاتصال التسلسلى . لاستخدام هذه الدالة لدينا بعض القيود : "هذه الدالة ترسل بايت واحد فقط تسلسليا عند تنفيذها ".
أمثلة صالحة :
كود:
UART1_Write('A');// send the character 'A' is of byte type.
UART1_Write (0xFF); // send the value 0xFF of byte type.
UART1_Write (256); // send the value 0xFF of byte type.
أمثلة غير صالحة :
كود:
UART1_Write ("F.ABDELAZIZ"); //
الدالة لا تدعم إرسال السلسة النصية بهذا الشكل .
كود:
UART1_Write ("A"); //
لاحظ أن الحرف محاط بعلامتى تنصيص مزدوج وفى لغة السى يعامل هذا الشكل كسلسلة نصية. لإرسال الحرف بالشكل الصحيح يجب وضعه داخل علامة مفردة مثل 'A' ففى هذه الحالة يمثل حرف ببايت .