I have 132x65 dot matrix LCD. I am using STM32f303 controller in my application. I got success in displaying the normal 5x7 fonts on LCD. Now I what I want to do is to display 13x16 custom sized fonts on the LCD. I generated the appropriate hex code for all 95 characters for the 13x16 size. In 5x7 i was able to send all the bytes using following routine.
void Display(uint8_t Display_Row, uint8_t Display_Column, unsigned char)
{
uint16_t String_Pointer_Offset;
String_Pointer_Offset = 0;
while( '\0' != *(String_Pointer + String_Pointer_Offset) )
{
#if (defined(DISPLAY_WRAP_TEXT_STRINGS) && (DISPLAY_WRAP_TEXT_STRINGS == YEP ))
if(Display_Column > SHADOW_LAST_COLUMN) /* Check if it's the appropriate to wrap the row printing the exceeding character on the next line. */
{
Display_Column = 0;
Display_Row ++;
};
if (Display_Row > SHADOW_LAST_LINE)
{
return; /* Ran out of space :( */
};
#else /* if (not defined(DISPLAY_WRAP_TEXT_STRINGS) || (DISPLAY_WRAP_TEXT_STRINGS == NOPE )) */
if( (Display_Column > SHADOW_LAST_COLUMN)
|| (Display_Row > SHADOW_LAST_LINE ) )
{
return; /* Ran out of space :( */
};
#endif
Display.Row[Display_Row].Column [Display_Column] = *(String_Pointer + String_Pointer_Offset);
Display.Row[Display_Row].Touched[Display_Column] = TRUE;
Display_Column ++;
String_Pointer_Offset++;
};
return;
}
And using Display_Print(1,1,"ABC \0");
function in the main file i was able to display the string on my LCD.
But here number of bytes 26 instead of 8 so which can not be sent simultaneously on parallely interfaced LCD. Can anyone help me how to achieve this big 13x16 pixel font display task?