طرفية ASCII و HEX لمنفذ التسلسلي (Serial).
آخر تحديث في بواسطة Oliver Reedطرفية SerialTool والطرفية السداسية عشرة (Hex)
يوفر SerialTool أداتين مخصصتين لعرض البيانات التي تمر عبر منفذ السيريال: الطرفية النصية (Terminal) والطرفية السداسية عشرة (Hex Terminal).
الطرفية في SerialTool
تعرض الطرفية جميع البيانات المرسلة والمستلمة عبر منفذ السيريال، منظمة سطرًا بسطر.
يمكن تعيين لون مختلف لكل منفذ، مما يجعل من السهل تمييز عدة تدفقات اتصال في لمحة واحدة.
كما يمكن عرض البيانات الواردة بعدة صيغ:
ASCII، سداسي عشري (والتراكيب المختلطة بما فيها CSV)، ثنائي، Nibble ثنائي، وثماني.
لقطة شاشة للطرفية
تعرض الطرفية جميع البيانات المرسلة والمستلمة عبر منفذ السيريال، منظمة سطرًا بسطر. ويمكن تعيين لون خاص لكل منفذ، مما يسمح بتمييز مسارات الاتصال المتعددة بسهولة.
كتابة الأوامر في وضع الطرفية
في وضع الطرفية يمكنك كتابة الأوامر مباشرة من لوحة المفاتيح في منطقة Type your command here. كل حرف تكتبه يُرسل فورًا عبر منفذ السيريال المحدد في مربع الاختيار Serial in use.
يمكن تخصيص سلوك مفتاح Enter بالكامل؛
حيث يمكنك اختيار ما إذا كان يرسل \n (LF)، أو \r (CR)،
أو مزيجًا مثل \r\n، وذلك وفقًا لمتطلبات الجهاز الذي تتواصل معه.
اكتب أوامرك مباشرة في حقل إدخال الطرفية.
عند الحاجة يمكنك مسح محتوى الإدخال الحالي بسرعة باستخدام زر Clear Type Area.
أوضاع التشغيل
وضع البث المتواصل (Streaming Mode)
في وضع Streaming تظهر البيانات على سطر واحد حتى يتم استقبال
محرف إنهاء محدد (على سبيل المثال \n — محرف سطر جديد، أو
0x0A في النظام السداسي، أو أي منهي مخصص يحدده المستخدم).
عند اكتشاف محرف الإنهاء يتم إنشاء سطر جديد تلقائيًا.
وضع الحزم (Packet Mode)
في وضع Packet يتم إنشاء سطر جديد كلما اكتشف SerialTool أن الحزمة قد اكتملت، أي عندما تمر فترة زمنية (بالملي ثانية) قابلة للتهيئة منذ آخر بايت تم استقباله.
الميزات الرئيسية
- تمييز السطور بألوان مخصصة لتحسين قراءة السجل.
- تمييز تلقائي للسطور التي تبدأ أو تنتهي أو تحتوي على نمط بايت معيّن.
- بحث سريع عن الأنماط للعثور على بايتات محددة عبر جميع السطور المستقبلة.
- شريط تنقل للتنقل بسرعة عبر تاريخ الإرسال والاستقبال الكامل.
- تمييز وترشيح يدوي لعرض السطور التي تهمك فقط.
إعدادات الطرفية المتقدمة
يمكن تخصيص سلوك الطرفية بالكامل من خلال قائمة Terminal Settings، التي يمكن الوصول إليها عن طريق النقر بزر الفأرة الأيمن على الطرفية.
نافذة إعدادات الطرفية مع خيارات تكوين متقدمة.
محرف الإنهاء (وضع Streaming)
اختر المحرف أو التسلسل الذي يحدد نهاية السطر.
الألوان
- تخصيص الألوان لتحسين الوضوح والتنظيم.
الخطوط
- ثلاثة خطوط مدمجة محسّنة لقراءة الطرفية.
- إمكانية اختيار أي خط من خطوط النظام.
- تعديل حجم الخط باستخدام CTRL + عجلة الفأرة.
- ضبط المسافة بين الحروف لتحسين الرؤية خلال التحليل التفصيلي.
وضع التفاف الكلمات (Word-Wrap)
يتيح رؤية كاملة لجميع المحارف كما تم استقبالها، بما في ذلك التسلسلات غير القابلة للطباعة عادةً — وهو مثالي لتنقيح البروتوكولات الثنائية أو المخصصة.
مؤشرات السطور
- مؤشر سهم تلقائي (↵) يظهر عند اكتمال السطر.
- عرض أرقام السطور على الجانب الأيسر.
- إمكانية تضمين الطوابع الزمنية ضمن فهرس السطر.
الحفظ التلقائي للإعدادات
يمكن حفظ جميع خيارات الإعداد واستخدامها مجددًا في الجلسات المستقبلية، مما يضمن أسلوب عمل ثابتًا ومخصصًا لكل مستخدم.
الطرفية السداسية عشرة – ASCII و HEX
تُستخدم البيانات على شكل نصوص وأرقام في برمجة الأجهزة الإلكترونية، لكن الحواسيب لا تفهم اللغة البشرية؛ بل تفهم البيانات على شكل 0 و1 فقط. لجعل البيانات قابلة للفهم من قبل الحاسوب تُستخدم أنظمة أعداد مختلفة، مثل النظام الثنائي، والنظام الثماني، والنظام السداسي عشري. ولتمثيل النصوص على الحاسوب تُستخدم رموز ASCII. تُستخدم محوّلات داخلية لتحويل البيانات من صيغة إلى أخرى، مثل التحويل من Hex إلى ASCII. تعتمد الحواسيب على جدول ASCII قياسي كمرجع.
ما هو النظام السداسي عشري؟
نظام الأعداد السداسي عشري هو نظام عدّ موضعي يُستخدم لتمثيل الأعداد. يستخدم ستة عشر رمزًا لتمثيل القيم، ومن هنا جاءت التسمية «HEX». الرموز المستخدمة هي: 0، 1، 2، 3، 4، 5، 6، 7، 8، 9، A، B، C، D، E، F. يستخدم النظام السداسي عشري حروف الأبجدية مع الأرقام لتمثيل القيم. تُستخدم الرموز من ‘0’ إلى ‘9’ لتمثيل الأعداد من 0 إلى 9، والرموز من ‘A’ إلى ‘F’ لتمثيل الأعداد من 10 إلى 15. تمثيل الأعداد في النظام السداسي عشري يتطلب أربع بِتّات لكل رقم.
ما هو كود ASCII؟
ASCII هو اختصار لـ “American Standard Code for Information Interchange”.
وهو أحد المعايير المهمة التي يعرّفها IEEE. يمثل معيارًا لترميز المحارف
في الاتصالات الإلكترونية لتمثيل الحروف والأبجدية في الحواسيب والأجهزة الإلكترونية.
طُوّر ASCII في الولايات المتحدة انطلاقًا من شفرة التلغراف. نُشرت النسخة الأولى من معيار ASCII عام 1963،
وخضع لعدة مراجعات على مر السنين، وكان آخر تحديث كبير عام 1986.
يعتمد كود ASCII على الأبجدية الإنجليزية. يحتوي على 256 رمزًا للمحارف، من بينها 127 رمزًا محددًا.
يُقسّم كود ASCII إلى مجموعتين: ASCII القياسي و ASCII الموسّع.
يمثل ASCII القياسي محارف مثل ‘a’–‘z’ والأرقام ‘0’–‘9’. تتراوح هذه القيم من 0 إلى 127 بالنظام العشري،
ومن 00 إلى 7F بالنظام السداسي عشري، وتُعرف بالمحارف القابلة للطباعة.
أما الأكواد من 0 إلى 31 فتُستخدم لمحارف التحكم المخصصة للتحكم في الأجهزة الطرفية، وهي غير قابلة للطباعة.
تحتوي أكواد ASCII الموسّعة على الرموز والمحارف المستخدمة في لغات مختلفة. تتراوح قيمها من 128 إلى 255 عشريًا
أو من 80 إلى FF سداسي عشري. تُستخدم الأكواد الموسّعة مع أكواد التحكم في ASCII القياسي
في العديد من بروتوكولات الاتصال مثل RS-232 وRS-485 وRS-422 وTTL.
ومع مرور الوقت أُدخلت تعديلات عديدة على ASCII ليتضمن لغات غير الإنجليزية.
لماذا من المهم عرض ASCII و HEX في منفذ السيريال؟
تعتمد معظم الاتصالات التسلسلية على بايتات لا تمثل دائمًا محارف قابلة للطباعة.
تتراوح المحارف القابلة للطباعة بين القيمة السداسية 0x20 و0x7F.
(للحصول على فكرة أفضل عن المحارف القابلة للطباعة في ASCII،
يمكنك الرجوع إلى هذه الجدول).
هنا تظهر أهمية طباعة البايت بصيغة HEX عند استخدام الاتصال التسلسلي، حيث يتيح لك SerialTool
عرض بايتات ASCII وHEX في الوقت نفسه.
مع استخدام الطوابع الزمنية المناسبة للبيانات الواردة والصادرة يمكنك بسرعة
اكتشاف البايتات المستقبلة والمرسلة عبر منفذ السيريال.
هذه وظيفة مفيدة للغاية عندما تريد تنقيح (Debug) بروتوكول الاتصال التسلسلي لديك.
على سبيل المثال، إذا كنت تستخدم وظيفة Serial Monitor في بيئة Arduino IDE،
فلن تتمكن من رؤية البايتات الواردة والصادرة ما لم تكتب دوال "printf" الخاصة بك.
يساعدك SerialTool في هذه المهمة بسهولة.
نظرة عامة على الطرفية السداسية عشرة
يوفر Hex Terminal في SerialTool عرضًا قويًا ومفصلًا لجميع البيانات المرسلة والمستقبلة عبر منفذ السيريال. بخلاف الطرفية النصية العادية، ينظم Hex Terminal تدفق البايت الخام في شكل بصري منظم، مما يجعله مثاليًا للمطورين والمهندسين وكل من يحتاج إلى فهم دقيق للاتصال الثنائي.
لقطة شاشة للطرفية السداسية عشرة.
عرض منظم Hex + ASCII
يُعرض كل بايت في الوقت نفسه بصيغة:
- سداسي عشري
- تمثيل ASCII
- الإزاحات / العناوين
يتيح لك هذا العرض المزدوج فهم الشكل الثنائي الخام للبيانات والتفسير المقروء لها في آن واحد. يتم تمييز نطاقات البايت المحددة ويمكن نسخها أو فحصها باستخدام قائمة السياق.
Byte Visualizer – استكشاف البايت بجميع الصيغ
عند تحديد بايت ما، تعرض اللوحة الجانبية اليمنى قيمته بجميع الصيغ المهمة، بما في ذلك:
- البايت الأصلي (0xNN)
- int8_t / uint8_t
- ASCII
- UTF-8
- ثنائي (Binary)
- ثماني (Octal)
- سداسي عشري (Hex)
هذا يجعل Hex Terminal بيئة متكاملة لتحليل البايت؛ فكل بايت مستقبَل يمكن فك شفرته وتحليله فورًا بدون أدوات خارجية. يمكن كذلك لـByte Visualizer إظهار بنية البايت، وتمثيل البتات، وعرض تدفق البتات في الاتصال التسلسلي (بت البدء، بتات البيانات، التماثل، بتات الإيقاف).
الإعدادات المتقدمة والتخصيص
يمكن تكييف Hex Terminal مع أساليب العمل والتفضيلات البصرية المختلفة.
- سمات ألوان للبايتات والسطور ومواضع التمييز وعلامات البروتوكول.
- ألوان متناوبة للسطور لتحسين قابلية القراءة.
- اختيار الخط، بما في ذلك الخطوط أحادية العرض المصممة خصيصًا لعرض HEX.
- التحكم في حجم الخط والتباعد (قابل للضبط باستخدام CTRL + عجلة الفأرة).
- خيارات عرض Hex لتبديل تفاصيل العرض.
- عرض الاتصال التسلسلي لرؤية البتات وبنية الإطار.
أدوات قائمة السياق
يؤدي النقر بزر الفأرة الأيمن على تحديد في Hex Terminal إلى فتح قائمة سياق غنية بالأدوات مثل:
- Find (البحث داخل عرض Hex أو ASCII)
- Copy Hex / Copy ASCII
- النسخ بصيغ بصرية مختلفة (Hex Visual، أقواس مربعة، أقواس معقوفة، Char، إلخ).
- Remove Serial Colors
- الوصول المباشر إلى ByteVisualizer
تكامل الجلسات
على الجانب الأيسر يدمج SerialTool عرض Session Packets، مما يسمح لك بفحص الحزم الفردية مع مرور الوقت. كل حزمة موسومة بطابع زمني ويمكن اختيارها لعرضها بتفصيل في عارض HEX.
إن Hex Terminal في SerialTool ليس مجرد عارض سداسي عشري فحسب، بل هو أداة تحليل ثنائية متكاملة صُممت خصيصًا للاتصالات التسلسلية. بفضل إمكانيات العرض المتقدمة، وفك الشفرة العميق للبايت، وخيارات التخصيص الغنية، يوفر كل ما تحتاجه لتنقيح دقيق وتحليل شامل للبروتوكولات.