Dugaan saya adalah bahwa Anda kehilangan penundaan yang diperlukan dalam urutan inisialisasi Anda. Jika tampilan sibuk ketika Anda mencoba mengirim perintah, perintah itu akan diabaikan. Jika ketika Anda memulai prosedur Anda, layar dalam mode empat bit dan baru saja "0000" mencatat sebagai bagian pertama dari suatu perintah, maka ketika Anda mencatat dalam "0011" layar akan melihat seluruh perintah sebagai "00000011" , yang akan menyebabkan tampilan sibuk hingga 1,6 ms.
Secara kebetulan, ada baiknya jika memungkinkan untuk mengirimkan kabel data pesanan rendah dari layar sedemikian rupa sehingga ketika perintah "0011" dikirim ke layar, seluruh 8 bit yang dilihat oleh layar akan membentuk perintah mode-set mana yang benar untuk jenis tampilan yang Anda gunakan. Itu akan membantu menghindari gangguan tampilan ketika mengatur ulang tampilan yang sudah digunakan (mengatur ulang tampilan secara berkala adalah ide yang baik, jika itu dapat dilakukan tanpa glitch, karena itu akan memastikan bahwa jika layar entah bagaimana masuk ke mode buruk itu akan memperbaiki diri).