updated with current status and usage

This commit is contained in:
Jake Goodwin 2023-01-07 21:18:04 -08:00
parent 56b6b0ffc9
commit 02bde95d40
1 changed files with 27 additions and 8 deletions

View File

@ -23,20 +23,30 @@ ___
```C ```C
#include "AVR_ATMEGA_1602LCD.h" #include "AVR_ATMEGA_1602LCD.h"
void lcd_begin() { void do_stuff() {
set_lcd_two_line(); PORTD = 0x00;
return_home_lcd(); DDRD = 0xff;
clear_lcd(); init_lcd();
//Do stuff. return_home_lcd();
set_entry_mode_increment_lcd();
//Refernce the datasheet for charecter codes.
write_lcd_address(0x7f); //Right pointing arrow
//wait a bit.
_delay_ms(1000);
//clear it up
clear_lcd();
return_home_lcd();
//Do more stuff...
} }
``` ```
## RoadMap: ## RoadMap:
1. define all functions for the data sheets instructions.
2. Change cmd_lcd() function to only be called once instead of nibbles.
3. Make functions port indapendant.
4. ADD function to print strings 4. ADD function to print strings
5. ADD function to display bit images 5. ADD function to display bit images
6. ADD function to act as a loading screen. 6. ADD function to act as a loading screen.
@ -45,4 +55,13 @@ void lcd_begin() {
9. ADD PWM control for backlight 9. ADD PWM control for backlight
## ISSUES:
Currently during powerloss events and initialization, long wire runs or
residual charge can cause the LCD to maintain memory for a shor duration.
In 4bit mode it's possible to end up with a invalid "nibble" in the LCD memory
in this case the system should power cycle the LCD unit assuming it's
controlled by the microcontroller.