Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HD44780 driver lacks the check for busy flag #817

Closed
gen2thomas opened this issue Apr 9, 2022 · 1 comment
Closed

HD44780 driver lacks the check for busy flag #817

gen2thomas opened this issue Apr 9, 2022 · 1 comment

Comments

@gen2thomas
Copy link
Collaborator

When "fast" writing in 4-bit mode, the display characters becomes corrupted, also an Clear() often not help.
According to page 9, 24, 29 and 33 of the datasheet it is strongly recommended to check the busy flag before next write operation.

@gen2thomas
Copy link
Collaborator Author

gen2thomas commented Apr 10, 2022

After implementing the check of busy flag I found the root cause of the strange behavior. It is caused by concurrent writing using "SendCommand()" and "WriteChar()". After prevention of concurrent writing by using mutex, no busy flag was set anymore. IMO all implemented sleeps are big enough to prevent this. The busy flag check (and the reading of address counter and data register) increases the lines of code strongly.

Therefor I will only provide small improvements in the first step together with #812 .

In case someone needs the read functionality (including the busy flag evaluation) - it is basically implemented on this branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant