Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 10.04.2019, 10:59   #1
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию LCD кириллица

Всем привет!
Работаю с LCD RC1602A

При выводе русских букв пользуюсь таблицей из даташита
Character Generator ROM Pattern

Чтоб вывести слово "Меню"
Код:
    Str2[0] = 0x4D;//М
    Str2[1] = 'e';
    Str2[2] = 0xA0;//н
    Str2[3] = 0xA3;//ю
Затем вывожу Str2 на LCD.

Но это как-то не по-людски так писать.
Думается, что есть умнее решение, ибо бегать по таблице за каждой буквой...

Подскажите, пожалуйста, кто работал с этим.
Руслан вне форума   Ответить с цитированием
Старый 10.04.2019, 12:16   #2
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 48
Сообщений: 1,811
Вес репутации: 2217/84
petrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond repute
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: LCD кириллица

Много этого здесь обсуждали. Тут посмотреть можно http://www.microchip.su/showthread.p...1388#post81388
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd на форуме   Ответить с цитированием
Старый 10.04.2019, 12:23   #3
Vovka
Senior Member
 
Аватар для Vovka
 
Регистрация: 27.12.2007
Адрес: недалеко от г.Белгорода
Возраст: 52
Сообщений: 1,914
Вес репутации: 3232/95
Vovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond repute
Отправить сообщение для Vovka с помощью ICQ
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от Руслан Посмотреть сообщение
Думается, что есть умнее решение, ибо бегать по таблице за каждой буквой...
Лично я перекодирую сразу программой
__________________
Настройся на хороший день и он таким будет!
Vovka вне форума   Ответить с цитированием
Старый 10.04.2019, 15:58   #4
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от Vovka Посмотреть сообщение
Лично я перекодирую сразу программой
Спасибо огромное!
Руслан вне форума   Ответить с цитированием
Старый 10.04.2019, 17:34   #5
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,536
Вес репутации: 4887/117
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: LCD кириллица

кстати, как создавать меню тоже много обсуждали. Судя по вопросу вам стоит поискать в форуме.
ampersant вне форума   Ответить с цитированием
Старый 10.04.2019, 18:05   #6
Guaho
Senior Member
 
Аватар для Guaho
 
Регистрация: 28.06.2013
Возраст: 47
Сообщений: 730
Вес репутации: 1674/47
Guaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant future
По умолчанию Re: LCD кириллица

Смотря какой контроллер используете. Для 18-х PIC-ов это может выглядеть так:
Код:
;Процедура печати СТАНДАРТНЫМ ШРИФТОМ строки, текст которой задан сразу после команды "call prs"
;и заканчивается ДВУМЯ нулями (текст может быть задан так: "da "Текст строки", 0, 0").
;Позиции, с которых начнётся печать, определяются стандартно - в переменных xLCD (0...127) и yLCD (0...7).
prs	movff	TOSU,TBLPTRU
	movff	TOSH,TBLPTRH
	movff	TOSL,TBLPTRL
prs1
	TBLRD*+			;Читаем символ стринга...
	movf	TABLAT,w	;...и пересылаем его в аккумулятор.
	bnz	prs2	

	;Если прочитан ноль - это конец строки.
	;Текущий табличный указатель уже автоинкркментировался после чтения
	;и указывает, куда нужно (следующая после напечатанного стринга команда).
	;Осталось теперь записать это значение на вершину стека, чтобы сделать возврат в указанную точку.
	movf	TBLPTRU,w
	movwf	TOSU
	movf	TBLPTRH,w
	movwf	TOSH
	movf	TBLPTRL,w
	movwf	TOSL
	return			
prs2	
	movff	TBLPTRU,ttu	;Запоминаем указатель табличного чтения,	
	movff	TBLPTRH,tth	;т.к. в процедуре печати тоже используется табличное чтение,
	movff	TBLPTRL,ttl	;и текущее значение будет потеряно, если его не сохранить.
	call	prsLCD		;Печатаем прочитанный символ.
	movff	ttu,TBLPTRU	;Восстанавливаем "наш" указатель табличного чтения.
	movff	tth,TBLPTRH
	movff	ttl,TBLPTRL
	goto	prs1		;Переходим к чтению следующего символа строки.
Здесь путём несложных манипуляций со стеком процедура печати получает адрес начала строки, а по завершении печати - адрес первой команды, следующей за последовательностью "call prs STRING".
Код выдран из рабочего проекта, так что что-то может оказаться лишним, но главное - принцип, как это работает.
Guaho вне форума   Ответить с цитированием
Старый 10.04.2019, 19:59   #7
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,182
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: LCD кириллица

Guaho
давно не писал для pic16.
однако мой опыт говорит, что печатать удобно используя функции.
в pic16 соглашение о вызовах предполагает передавать аргументы через стек. указатель на строку, x и y.
из-за того, что есть особенности доступа, то проще сделать печать из RAM, а потом, если оказывается, что указатель указывает на ROM, то выделить на стеке место, туда считать из RОM и потом отпечатать из RAM.
besogon вне форума   Ответить с цитированием
Старый 10.04.2019, 20:58   #8
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от Vovka Посмотреть сообщение
Лично я перекодирую сразу программой
Это решение мне понравилось больше.
Только вопрос -
Код:
 unsigned char txtMenu1[] = {0x4D,0x65,0xBD,0xC6};// текст для меню1
unsigned char txtMenu2[] = {0x4D,0x65,0xBD,0xC6};// текст для меню2
и т.д. для всех меню...
так я изначально формирую наборы текста для всех меню (затем в программе по мере надобности вывожу на LCD) но выделение наборов массивов забирает ОЗУ у контроллера. Если же заполнять единожды объявленный массив текстом в месте программы где он выводится - то ОЗУ не тратится.

Но как заполнять (чисто вопрос по Си)
Код:
unsigned char txtMenu1[];
txtMenu1[] = {0x4D,0x65,0xBD,0xC6};
так не даст компилятор.

а так много движений:
Код:
 
char Str2[20];
   Str2[0] = 0x4D;//М
    Str2[1] = 0x65;//e
    Str2[2] = 0xBD;//н
    Str2[3] = 0xC6;//ю
Руслан вне форума   Ответить с цитированием
Старый 10.04.2019, 21:09   #9
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,182
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: LCD кириллица

Руслан
но выделение наборов массивов забирает ОЗУ у контроллера. - можно использовать ROM для информации, которую Вы не намерены менять.

например:
Код:
const char menu_text[] = "test";
по умолчанию строка menu_text попадет во flash.

в последнем проекте, который я делал создавалась локаль, в который содержится текст, шрифты и.т.д - все, что нужно, чтобы отображать информацию в выбранной стране.

большая структура с уймой всего, что в целом является общим подходом для сложных решений и скорее не характерно для реализации на pic14enh/pic16.
besogon вне форума   Ответить с цитированием
Старый 10.04.2019, 21:11   #10
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,182
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: LCD кириллица

кроме прочего есть набор функций стандартной библиотеки, который предназначен для работы со строками.
strncpy и прочее.
besogon вне форума   Ответить с цитированием
Старый 10.04.2019, 21:20   #11
al.kl
Senior Member
 
Регистрация: 11.10.2011
Возраст: 24
Сообщений: 298
Вес репутации: 862/40
al.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to behold
Отправить сообщение для al.kl с помощью ICQ
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от Руслан Посмотреть сообщение
Код:
unsigned char txtMenu1[]; 

txtMenu1[] = {0x4D,0x65,0xBD,0xC6};
так не даст компилятор.
Естественно.
menu_text, в Вашем случае, - константный указатель. Мало того, что он неизменим, Вы ему ещё присваиваете непойми чего...
Как вариант - использовать библиотечные функции работы со строками. Либо не изменять вообще, а инициализировать при объявлении.
al.kl вне форума   Ответить с цитированием
Старый 10.04.2019, 21:55   #12
Guaho
Senior Member
 
Аватар для Guaho
 
Регистрация: 28.06.2013
Возраст: 47
Сообщений: 730
Вес репутации: 1674/47
Guaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant future
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от besogon Посмотреть сообщение
...давно не писал для pic16.
однако мой опыт говорит, что печатать удобно используя функции.
в pic16 соглашение о вызовах предполагает передавать аргументы через стек. указатель на строку, x и y...
Для 16-х описанный мною метод не подойдёт, там нет нужных команд манипуляций со стеком. Через указатель у меня тоже есть процедура, но я её не стал приводить, там банально, ничего сложного. А вот этот метод интересен - располагать данные для печати (Data) сразу после команды "call Data". Компактно, красиво, удобно. Но тут уж на вкус и цвет, как кому понравится.
Guaho вне форума   Ответить с цитированием
Старый 10.04.2019, 23:01   #13
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 48
Сообщений: 1,811
Вес репутации: 2217/84
petrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond repute
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: LCD кириллица

Код:
const char* String_1 = "Hello World";
const char* String_2 = "Привет";
char StringInRAM[16];

void strConstCpy(char *dest, const char *source)
{
 while(*dest++ = *source++);
}


void main() {

  strConstCpy(StringInRAM, String_1);
  LCD_Out_Rus(1,1, StringInRAM);
  strConstCpy(StringInRAM, String_2);
  LCD_Out_Rus(2,1, StringInRAM);
   .....................

}
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd на форуме   Ответить с цитированием
Старый 10.04.2019, 23:30   #14
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,182
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: LCD кириллица

Guaho
Для 16-х описанный мною метод не подойдёт, там нет нужных команд манипуляций со стеком. - я имел в виду стек, как структуру данных, к которой мы обращаемся, чтобы как-то работать с кодом. понятное дело, что в pic1xx есть аппаратный стек возвратов - зачем он нужен и что мешало сделать просто стек пройденный повод для дискуссий.

у Вас в FSR1 наверняка лежит указатель стека.
besogon вне форума   Ответить с цитированием
Старый 10.04.2019, 23:41   #15
Guaho
Senior Member
 
Аватар для Guaho
 
Регистрация: 28.06.2013
Возраст: 47
Сообщений: 730
Вес репутации: 1674/47
Guaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant future
По умолчанию Re: LCD кириллица

Да нет, там без FSR, просто подмена данных на вершине стека с использованием специальных регистров.
Guaho вне форума   Ответить с цитированием
Старый 11.04.2019, 02:28   #16
al.kl
Senior Member
 
Регистрация: 11.10.2011
Возраст: 24
Сообщений: 298
Вес репутации: 862/40
al.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to behold
Отправить сообщение для al.kl с помощью ICQ
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от petrd Посмотреть сообщение
Код:
const char* String_1 = "Hello World";
const char* String_2 = "Привет";
char StringInRAM[16];

void strConstCpy(char *dest, const char *source)
{
 while(*dest++ = *source++);
}


void main() {

  strConstCpy(StringInRAM, String_1);
  LCD_Out_Rus(1,1, StringInRAM);
  strConstCpy(StringInRAM, String_2);
  LCD_Out_Rus(2,1, StringInRAM);
   .....................

}
petrd, а чем Ваша strConstCpy отличается от стандартной strcpy ?
Один в один ...
al.kl вне форума   Ответить с цитированием
Старый 11.04.2019, 07:33   #17
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,893
Вес репутации: 5611/171
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от al.kl Посмотреть сообщение
petrd, а чем Ваша strConstCpy отличается от стандартной strcpy ?
Один в один ...
в пиках обычно было два типа strcpy - для озу и ром.

В 16-х вообще был каждый на свой банк памяти.
Greg вне форума   Ответить с цитированием
Старый 11.04.2019, 07:46   #18
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,893
Вес репутации: 5611/171
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от Руслан Посмотреть сообщение
Но как заполнять (чисто вопрос по Си)
Код:
unsigned char txtMenu1[];
txtMenu1[] = {0x4D,0x65,0xBD,0xC6};
так не даст компилятор.
попробуй что-нибудь из этого


const char test[] = "123\x3456";
const char test[] = {'1','2','3','\x34','5','6','\0'};
const char test[] = "123\x34""56";
const wchar_t test3[] = L"123\x34"L"56";
const wchar_t test4[] = L"123"L"\x34"L"56";
последние для широких chars

Последний раз редактировалось Greg; 11.04.2019 в 07:59.
Greg вне форума   Ответить с цитированием
Старый 11.04.2019, 08:17   #19
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 48
Сообщений: 1,811
Вес репутации: 2217/84
petrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond repute
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от al.kl Посмотреть сообщение
petrd, а чем Ваша strConstCpy отличается от стандартной strcpy ?
Один в один ...
Ничем, для наглядности.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd на форуме   Ответить с цитированием
Старый 11.04.2019, 12:41   #20
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от besogon Посмотреть сообщение
кроме прочего есть набор функций стандартной библиотеки, который предназначен для работы со строками.
strncpy и прочее.
знаком я с этими функциями, но они работают с строками, а у меня 16-ричные значения, а не строка, и надо написать не копирование из строки в стоку, а копировать в строку buf строку 16-ричных символов, типа так:

Код:
   char  buf[10] = {0};                  
   strncpy(buf, "0x4D,0x65,0xBD,0xC6", 4);
компилится, но записывает не те значения.


Нет смысла мне копировать из выше объявленной строки т.к. я добиваюсь, чтоб объявить только одну строку и в нее загонять текст в проге (текст НЕ из другой строки) и выводить эту строку на LCD.
т.е. так сработает:
Код:
   char  buf[10] = {0};                  
   strncpy(buf, "abcd", 4);
а так нет:
Код:
   char  buf[10] = {0};                  
   strncpy(buf, "0x4D,0x65,0xBD,0xC6", 4); в кавычках текст, который я формирую прямо в проге

Последний раз редактировалось Руслан; 11.04.2019 в 12:52.
Руслан вне форума   Ответить с цитированием
Старый 11.04.2019, 13:37   #21
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,500
Вес репутации: 2750/83
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от Руслан Посмотреть сообщение
Код:
   char  buf[10] = {0};                  
   strncpy(buf, "0x4D,0x65,0xBD,0xC6", 4);
 в кавычках текст, который я формирую прямо в проге
красное - это вааще как

А по первому сообщению - продефайнь один раз таблицу символов

#define _A (0x<твоё значение>)
#define _B (0x<твоё значение>)
...
#define _Я (0x<твоё значение>)
,пользуйся
uint8_t MnuString0[] = {_M,_E,_H,_Ю};

и забудь о кодировке раз и навсегда
(т.е пока таблица индикатора не поменяется и в IDE буква "Ю" есть )
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 11.04.2019, 16:02   #22
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
красное - это вааще как

А по первому сообщению - продефайнь один раз таблицу символов

#define _A (0x<твоё значение>)
#define _B (0x<твоё значение>)
...
#define _Я (0x<твоё значение>)
,пользуйся
uint8_t MnuString0[] = {_M,_E,_H,_Ю};

и забудь о кодировке раз и навсегда
(т.е пока таблица индикатора не поменяется и в IDE буква "Ю" есть )
красное - это я хотел пояснить, что хочу записать 16-ричные коды символок как-то, а как - надеялся на подсказку - в этом и заключается мой вопрос...

А передефайнить - кусок времени, проще пользоваться Программой, на которую дал ссылку Vova выше
Руслан вне форума   Ответить с цитированием
Старый 11.04.2019, 17:25   #23
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: LCD кириллица

в процессе написания проги пришла мысля - чтоб не нагружать ОЗУ строки для LCD объявлять внутри функций, при выходе из функции - память, выделенная под переменные функции (мои сообщения под LCD) очищаются
Руслан вне форума   Ответить с цитированием
Старый 11.04.2019, 17:29   #24
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,500
Вес репутации: 2750/83
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от Руслан Посмотреть сообщение
красное - это я хотел пояснить, что хочу записать 16-ричные коды символок как-то, а как - надеялся на подсказку - в этом и заключается мой вопрос...

А передефайнить - кусок времени, проще пользоваться Программой, на которую дал ссылку Vova выше
Чёт тебя конкретно так переклинило
dtsogon и al.kl тебе всё же уже сказали, или разжевать?

const char menu_text1[] = "test";
const char menu_text2[] = "test";
const char menu_text3[] = "test";
const char menu_text4[] = "test";

void printLCD(const char* menu_text)
{
while(*menu_text) symb_to_lcd(*menu_text++);
}

printLCD(menu_text1);
printLCD(menu_text2);
printLCD(menu_text3);

ты же, пока, разницы между
const char(в этом компиляторе - в нормальных это записывают по другому) и char
и между
[] = "1,2,3,4,5";
[] = {1,2,3,4,5};
нихрена не видишь
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 11.04.2019, 18:41   #25
Руслан
Senior Member
 
Регистрация: 26.05.2015
Возраст: 42
Сообщений: 253
Вес репутации: 62/0
Руслан will become famous soon enough
По умолчанию Re: LCD кириллица

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
ты же, пока, разницы между
const char(в этом компиляторе - в нормальных это записывают по другому) и char
и между
[] = "1,2,3,4,5";
[] = {1,2,3,4,5};
нихрена не видишь
между const char (выделяется flash память программ)

и char (выделяется ОЗУ)

разницу вижу,

а между
[] = "1,2,3,4,5";
[] = {1,2,3,4,5};
не вижу.

Че то мы говорим на разных языках - то ли я чет не догоняю, то ли меня не слышат:
я не хочу объявлять массивы строк с сообщениями НИ в flash памяти НИ в ОЗУ, а формировать "на ходу" в проге тексты сообщений

Последний раз редактировалось Руслан; 11.04.2019 в 18:56.
Руслан вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nokia 3390 (3310) LCD + dsPIC30 alexbeatle Вопросы начинающих 0 28.04.2014 18:52
АЦП в pic16f877 + LCD rezor Вопросы начинающих 30 11.03.2014 06:48
Инициализация HD44780. Ittoo Вопросы начинающих 207 15.05.2011 15:27
LCD + PIC zaman Продукция MICROCHIP 7 05.09.2009 23:52
Кириллица на LCD WH1602D michipic Продукция MICROCHIP 12 21.07.2009 14:04


Часовой пояс GMT +3, время: 09:23.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot