Serial port 从LCD hd44780读取AVR

Serial port 从LCD hd44780读取AVR,serial-port,avr,usart,hd44780,Serial Port,Avr,Usart,Hd44780,我目前正在写一个基于avr ATmega32和一些其他LED组件的小项目,微型开关。 我正在使用Mirosław Kardaś的LCD库和来自的头文件。 我还使用此功能通过RS232发送数据: char USART_wysylanie () { while ( !(UCSRA & (1<<UDRE)) ); UDR = data; } 我为自己做的任务是通过rs232获取通过4位连接的hd44780 2x16上当前显示的数据。问题是当我使用

我目前正在写一个基于avr ATmega32和一些其他LED组件的小项目,微型开关。 我正在使用Mirosław Kardaś的LCD库和来自的头文件。 我还使用此功能通过RS232发送数据:

char USART_wysylanie ()
{
    while ( !(UCSRA & (1<<UDRE)) );
    UDR = data;
}
我为自己做的任务是通过rs232获取通过4位连接的hd44780 2x16上当前显示的数据。问题是当我使用

        if (KEY_DOWN_3)
    {
        unsigned char message;
        int i;
        for (i=0;i<=4;i++)
        {
           lcd_locate(0,i);
           message = _lcd_read_byte();
           USART_wysylanie(message);
        }
    }       

当设置为ANSII时,我的终端不显示任何内容,当显示为HEX时,我得到01 02 03。。。再说一遍,我想得到我的LCD上的内容,以及RAM中的内容。与RS的沟通很好,因为当我使用诸如。。。USART_wysylanie的“一切都很好”。有什么办法可以让我的代码读取LCD内容吗?

你的F\U CPU是什么。。。没有延迟或检查lcd读取字节,因此可能出现计时问题。您是否解除按键的抖动,并确保长按按键3不会重复调用读取功能?@MikeD感谢您的回复,我使用的是外部11.059000mhz石英。我没有使用去盎司,是的,只要我按下它,它就会保持重复。我会尽力给你们的项目提出建议,并让你们知道它是否有效。时间问题是很可能的,所以我会尝试它。