我目前正在编写一个基于 avr ATmega32 和其他一些组件(LED、微动开关)的小项目。我正在使用 Mirosław Kardaś 的 LCD 库和来自ftp://novitech.pl/Ladowarka/LCD/的头文件。我也使用此功能通过 RS232 发送数据:
char USART_wysylanie ()
{
while ( !(UCSRA & (1<<UDRE)) );
UDR = data;
}
我为自己做的任务是通过 rs232 获取当前显示在我的 hd44780 2x16 上的数据(通过 4bit 连接)。问题是当我使用
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... 又一遍,bt 我想准确地获得 LCD 上的内容,并在它的 RAM 中。与 RS 的沟通很好,因为当我使用类似的东西时,... USART_wysylanie ('s')
一切都很好。有什么想法可以让我的代码读取 LCD 内容吗?