|
السلام عليكم
بالنسبة لامر ارسال نص عبر الممر التسلسلي
الامر يحوي على ثلاث معاملات :-
الاول هو متغير نصي يتم خزن النص الذي تم استلامه
الثاني كلمة او احرف تستخدم لتحديد نهاية النص .... حيث ان عملية الاستلام تستمر ولا تعطي اشارة اكتمال الاستلام الا بعد استلام هذا النص الذي يمثل نهاية الارسال وعند عدم استلامها تهمل عملية الاستلام... الاحرف المستخدمة في نهاية النص يمكن ان تكون اي احرف وليس كلمة ok فقط ... بل يجب اختيارها بحيث لا ترد ضمن النص المرسل اكثر من مرة فيحدث التباس في عملية الاستقبال ... كما انها يجب ان توجد في نهاية النص المرسل
الثالث رقم يمثل عدد الحرف المستلمة والتي من المتوقع ان تكون نهاية النص ضمنها
اما بالنسبة للارقام 13 و10 فهي شفرات نوع ascii وهي غير مكتوبة لذلك يتم التعامل معها بارقامها ... مثلا الاحرف abcd... والارقام 123... يمكن كتابتها ... لكن بعض الوضائف لايمكن كتابتها مثل الانتقال الى السطر التالى او الرجوع الى الخلف وغيرها من الوظائف ... فهذه يتم التعامل معها بالارقام .... يتم استخدام مثل هذه الوضائف عند الحاجة الى عرض هذه المعلومات على شاشة طرفية لترتيب الكتابة ... فعند كتابة جملة في سطر معين وتريد الانتقال الى بداية السطر التالي تقوم بارسال 13 ... 10 حيث تمثل الانتقال الى السطر التالي والى بداية السطر ... اما هل يجب عليك استخدام هذه الوظائف ام لا؟؟؟ فذلك يعود الى طبيعة التطبيق وكيف سيتم عرض المعلومات ... مثلا لو ربطت متحكم يقوم بجمع المعلومات وارسالها الى الحاسبة ... وفي الحاسبة تستخدم برنامج هايبرتيرمنل لعرض المعلومات المستلمة من الممر التسلسلي .... بدون ال 13 10 ستكتب الارقام ملتسقة بعضها ببعض وعلى طول السطر .... لكن لو استخدمت 13 10 في نهاية كل معلومة ترسلها فسيظهر الرقم الاول في السطر الاول .. ثم الرقم الثاني في السطر الثاني .... وهكذا ... بحيث تكون الارقام مفهومة ويمكن متابعتها .... اما اذا كانت المعلومات التي يتم ارسالها من البك ليست لغرض العرض ... فربما لن تكون هناك حاجة لارسال هذه الوضائف بعد كل عدد او جملة
|
شكرا جزيلا على هذه معلومات ليديه بعض تساؤلات
1- كم اقصى طول رساله ممكن ارسالها
2-
(uart1_read_text(output,"ok",10
طبعا output هي مصفوفه تعرف في بدايه برنامج ولكن كيف أحدد ابعادها هل أعتمادا على طول نص وهل اضيف مثلا ok ضمن ابعاد مصفوفه ام اني اعرف output على انها مصفوفه ذات أبعاد معتمده على طول نص
وبعدها يتم تغير رقم 10 بوضعه مساويا الى طول نص+ عدد أحرف بنهايه الارسال
3- كم يأخذ حرف حيز من ذاكره يعني اقصد كل حرف=1 بايت ارجوا توضيح