مكتبة HD44780 مدفوعة بالمقاطعة لاردوينو
سؤال
لدي شاشة LCD HD44780، وأستخدم مكتبة LiquidCrystal المتوفرة مع حزمة تطوير Arduino.ومع ذلك، فهي ليست موثوقة.لقد لاحظت بعض المشاكل معها، وبدلاً من أن تكون مدفوعة بالمقاطعة، فإنها تظل في وضع السكون طالما يعتقد المطور أن الشريحة يجب أن تستغرق لتنفيذ العملية.
من أوراق المواصفات، سيتم تعيين علامة BUSY أثناء التنفيذ، مما يعني أنه من الممكن أن يتم تشغيلها بالمقاطعة.
هل يعرف أحد مكتبة تقوم بذلك بالفعل، وهل تتطلب توصيل جميع البتات الثمانية أم يمكنني الاحتفاظ بها عند 4 دبابيس؟
المحلول
وأنا لا أعتقد أنك بحاجة إلى المقاطعة لهذا الغرض. وعند النظر إلى LiquidCrystal.cpp أ > في توزيع اردوينو، تحتاج فقط إلى تغيير LiquidCrystal::write4bits
، LiquidCrystal::write8bits
، ورمز LiquidCrystal::pulseEnable
. وينبغي أن تبدأ طريقتين الأولى عن طريق مراقبة خط مشغول (BD7) قبل كتابة البيانات، وسوف يتم تعديل آخر واحد لإزالة قفة 100US.
وأعتقد أن السبب هذا لم يحدث في التعليمات البرمجية الافتراضية هو أن العديد من مستخدمي هذه اقراص الليزر المدمجة مجرد التعادل R / W إلى الأرض وبالتالي فإن العرض هو دائما في وضع الكتابة، مما يجعل من المستحيل على قراءة إشارة مشغول. ومع ذلك، يتم تمرير هذه في المكتبة عن طريق وضع _rw_pin إلى -1، وبالتالي فإن النبض وكتابة التعليمات البرمجية يمكن استخدامها بشروط ص / ث دبوس باعتبارها وسيلة للكشف عن مشغول كما التحسين السرعة.
نصائح أخرى
ومن الممكن استخدام 8 بت على ثلاثة دبابيس. كل ما تحتاجه سجل التحول. أنا باستخدام HEF4094BP من mouser.com (الشحن سوف تكلف أكثر من رقاقة الفعلي)
ومخطط الأسلاك ورمز تعديلات للتسجيل التحول هنا: HTTP: // شبكة الاتصالات العالمية. arduino.cc/playground/Code/LCD3wires
منذ بعض الوقت قمت بتعديل LiquidCrystal lib لدعم علامة الانشغال.يرجى ملاحظة أن العملية الحقيقية مدفوعة بالمقاطعة لا ممكن - لكل قراءة تحتاج إلى تبديل E
خط نبيل مرتين.ولذلك سوف تحتاج إلى استطلاع العلم مشغول.
ثم قمت بالعثور على بعض المعايير، وهي أن استطلاع العلم المزدحم هو أبطأ من مجرد انتظار معظم الأوامر.(الاستثناء هو الأمرين "clear" و"home").كان السبب هو أن التبديل بين وضع القراءة ووضع الكتابة يتطلب خطوات إضافية مثل 8 مكالمات إضافية digitaWrite
و8 مكالمات إضافية إلى pinMode
.حتى مع Arduinos بسرعة 16 ميجاهرتز، يكون هذا أبطأ من مجرد انتظار 100 ثانية.
بعد ذلك كتبت مكتبة تتعامل مع سجلات الدبوس مباشرة وفي الوضع المجمع - جميع المسامير الثمانية مع وصول تسجيل واحد.بعد ذلك كنت في الملعب للحصول على بعض الفوائد من خلال الاقتراع.