|
@@ -10,22 +10,23 @@ static chlcd_error_t __chlcd_hd44780_shift_register_set_byte(
|
|
|
chlcd_hd44780_shift_register_connector_t *self,
|
|
chlcd_hd44780_shift_register_connector_t *self,
|
|
|
uint8_t content
|
|
uint8_t content
|
|
|
) {
|
|
) {
|
|
|
|
|
+ self->last_state = content;
|
|
|
|
|
+
|
|
|
for (uint8_t count = 0; count < 8; ++count) {
|
|
for (uint8_t count = 0; count < 8; ++count) {
|
|
|
bool current = (content & 0b10000000) != 0x00;
|
|
bool current = (content & 0b10000000) != 0x00;
|
|
|
content = content << 1;
|
|
content = content << 1;
|
|
|
|
|
|
|
|
__R(chlcd_pin_write(self->register_data, current));
|
|
__R(chlcd_pin_write(self->register_data, current));
|
|
|
__R(chlcd_pin_write(self->register_clock, true));
|
|
__R(chlcd_pin_write(self->register_clock, true));
|
|
|
- __R(chlcd_sleep_us(20));
|
|
|
|
|
|
|
+ __R(chlcd_sleep_us(200));
|
|
|
__R(chlcd_pin_write(self->register_clock, false));
|
|
__R(chlcd_pin_write(self->register_clock, false));
|
|
|
- __R(chlcd_sleep_us(20));
|
|
|
|
|
|
|
+ __R(chlcd_sleep_us(200));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
__R(chlcd_pin_write(self->register_latch, true));
|
|
__R(chlcd_pin_write(self->register_latch, true));
|
|
|
- __R(chlcd_sleep_us(20));
|
|
|
|
|
|
|
+ __R(chlcd_sleep_us(200));
|
|
|
__R(chlcd_pin_write(self->register_latch, false));
|
|
__R(chlcd_pin_write(self->register_latch, false));
|
|
|
|
|
|
|
|
- self->last_state = content;
|
|
|
|
|
return CHLCD_SUCCESS;
|
|
return CHLCD_SUCCESS;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -41,7 +42,7 @@ chlcd_error_t chlcd_hd44780_shift_register_init(void *self_pointer) {
|
|
|
__R(chlcd_pin_write(self->register_clock, false));
|
|
__R(chlcd_pin_write(self->register_clock, false));
|
|
|
__R(chlcd_pin_write(self->register_latch, false));
|
|
__R(chlcd_pin_write(self->register_latch, false));
|
|
|
|
|
|
|
|
- __R(chlcd_sleep_us(20));
|
|
|
|
|
|
|
+ __R(chlcd_sleep_us(200));
|
|
|
|
|
|
|
|
__R(__chlcd_hd44780_shift_register_set_byte(self, 0x00));
|
|
__R(__chlcd_hd44780_shift_register_set_byte(self, 0x00));
|
|
|
|
|
|