Nordic characters on LCD screen

Go To Last Post
21 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

 

I'm having a bit of a trouble getting characters such as ö, ä and å to work on my LCD as they seem to appear as some strange symbols when I try to use them.

The type of my LCD is RC1602B-BIW-ESX and I'm trying to send a test string of characters. It seems to be working fine with any other characters but not with the special ones that I'm going to need in this application.

Is there any way to make these appear right on the LCD?

 

A bit of my code:

int main(void)
{
    char test[] = "test string öäå";
	
    while(1)
    {
		GotoLCDLocation(1, 2);
		Send_A_String(test);	
    }
}

void Send_A_String(char *StringOfCharacters)
{
	while(*StringOfCharacters > 0)
	{
		Send_A_Character(*StringOfCharacters++);
	}	
}

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Those characters are probably not part of the built in character set for the LCD.  See datasheet for your LCD display for the list of characters it supports.

But you may be able to make your own characters and store them into the first 8 character locations and then use them as needed.

 

Google how to make custom LCD characters for examples of how to do that. 

 

Jim

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The problem seems to be that the LCD does not map to the standard unicode format:

Char   Unicode       LCD

ä      0x00E4    ->  0x0084

å      0x00E5    ->  0x0083 (I think)

ö      0x00F6    ->  0x0094

 

I may be off on the mappings, but you should look at the Character Generator ROM Pattern in the LCD spec.

 

Edit: The datasheet I referenced:

 

Attachment(s): 

David (aka frog_jr)

Last Edited: Wed. Sep 27, 2017 - 01:36 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Google tells me that the module you named has ST7066 controller. If I look at the datasheet for that it tells me that it may have one of three character sets pre-programmed:

 

or

 

or