Здравствуйте. У меня в программе на микроконтроллер атмега8 нужно вывести данные из буфера на LCD(16х2).
Тоесть создал буфер( byte TnBuf [65]; ),в который помещаем данные - 65 бит.
Данные нужно вывести в формате ANSII.
Сейчас стоит вот такая конструкция:
Цитата
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
char data[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char aaa;
char bbb;
byte i,k,j;
void main(void)
{
lcd_init(16);
lcd_gotoxy(0,0);
lcd_clear();
}
void lcd_display(char *str)
{
j=0;
k=0;
for (i=0; i<9; i++)
{
aaa = str[i]>>4;
bbb = str[i]&0b00001111;
lcd_gotoxy (j++, k);
lcd_putchar (aaa+48);
lcd_gotoxy (j++, k);
lcd_putchar (bbb+48);
if ((j==8)&&(k==0)) {k=1; j=0;}
}
}
lcd_display(data);
Выводит нето что нужно,а нужно чтобы выводил строчку из 16 символов.
Подскажите пожалуйста, как это лучше реализовать?
Может есть другие способы вывести содержимое буфера на дисплей?