nikityan писал(а):Помогите пожалуйста)
Ну так что бы помочь, нужно больше информации. Например, о формате картинки. А так гадание на кофейной гуще получается.
Попробуйте такой вариант функции, только не забудьте соответственно изменить прототип в начале файла.
Код: Выделить всё
void nlcd_Bitmap(unsigned char start_x, unsigned char start_y, const char __flash *pBitmap)
{
int i;
unsigned char h_size, v_size;
h_size=*pBitmap++;
v_size=*pBitmap;
pBitmap+=4;
nlcd_SendByte(CMD_LCD_MODE,0xDA);
// Указать размеры рисунка в соответствии с этими пределами
nlcd_SendByte(CMD_LCD_MODE,PASET); // Команда адреса страницы RAM
nlcd_SendByte(DATA_LCD_MODE,start_x); // Старт
nlcd_SendByte(DATA_LCD_MODE,start_x+h_size-1); // Конец
nlcd_SendByte(CMD_LCD_MODE,CASET); // Команда адреса колонки RAM
nlcd_SendByte(DATA_LCD_MODE,start_y); // Старт
nlcd_SendByte(DATA_LCD_MODE,start_y+v_size-1); // Конец
nlcd_SendByte(CMD_LCD_MODE,RAMWR); // Пишем в RAM
i=h_size*v_size;
i+=i>>1;
while (i--)
{
CS_LCD_RESET;
nlcd_SendByte(DATA_LCD_MODE, *pBitmap++);
CS_LCD_SET;
}
nlcd_SendByte(CMD_LCD_MODE,NOP);
}
И при вызове функции вместо
Код: Выделить всё
nlcd_Bitmap (0, 0, 132 , 132, bitmap_data);
сделайте так