updated with current status and usage
This commit is contained in:
parent
56b6b0ffc9
commit
02bde95d40
35
README.md
35
README.md
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue