Ejemplo n.º 1
0
uint8_t lcd_read(uint8_t rs) {
    __IO uint8_t data;

    if(rs) { //read data
        lcd_rs_high();
    } else { //read busy flag
        lcd_rs_low();
    }
    lcd_rw_high(); // read mode

    //set data pins to input
    GPIO_InitStructure.GPIO_Pin = DATA_PORT_Pin_0 | DATA_PORT_Pin_1 |
                                  DATA_PORT_Pin_2 | DATA_PORT_Pin_3;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
    GPIO_Init(LCD_PORT, &GPIO_InitStructure);

    //read 2 nibbles
    lcd_e_high(); //enable
    lcd_e_delay();
    data = (uint8_t)GPIO_ReadInputData(LCD_PORT) << 4;
    lcd_e_low(); //disable

    lcd_e_delay();

    lcd_e_high(); //enable
    lcd_e_delay();
    data |= (uint8_t)GPIO_ReadInputData(LCD_PORT) & 0x0F;
    lcd_e_low(); //disable

    return data;
}
Ejemplo n.º 2
0
void lcd_e_toggle() {
    lcd_e_low();
    lcd_e_delay();
    lcd_e_high();
    lcd_e_delay();
    lcd_e_low();
    Delay(100);
}
Ejemplo n.º 3
0
static void toggle_e(const HD44780* device){
	lcd_e_high(device);
    delay_us(10);
	lcd_e_low(device);
}
Ejemplo n.º 4
0
//-----------------------------------------------------------------------------------------
// FUNCTION: lcd_toggle_e
// PURPOSE: flush channel E
void lcd_toggle_e(void)
{
    lcd_e_high();
    _delay_us(10);
    lcd_e_low();
}
Ejemplo n.º 5
0
// PURPOSE: flush channel E
void HD44780::lcd_toggle_e(void)
{
    lcd_e_high();
    fcpu_delay_us(10);
    lcd_e_low();
}