Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Функция для вывода строк
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
alux
Вывожу на ЖКИ строки из флеша функцией
Код
LCD_Put_Str_Flash(const char __flash * str)

В опциях компилятора стоит --string_literals_in_flash. Теперь необходимо вывести на экран значения переменных или строк из ОЗУ. Можно ли использовать одну и ту же функцию для этой цели? И так, чтобы строки не дублировались в флеше и в ОЗУ. Или проще использовать отдельные функции для ОЗУ и для флеша?
SasaVitebsk
Цитата(alux @ Oct 14 2007, 15:31) *
Вывожу на ЖКИ строки из флеша функцией
Код
LCD_Put_Str_Flash(const char __flash * str)

В опциях компилятора стоит --string_literals_in_flash. Теперь необходимо вывести на экран значения переменных или строк из ОЗУ. Можно ли использовать одну и ту же функцию для этой цели? И так, чтобы строки не дублировались в флеше и в ОЗУ. Или проще использовать отдельные функции для ОЗУ и для флеша?


Обычно используют разные, но принципиально возможно использовать и одну и туже. Конечно во втором случае необходимо как-то указывать источник данных.
С точки зрения эффективности выигрыш будет незначительным. Уж больно операция простая.
SSerge
Просто замените __flash на __generic в определении функции.
IEC
Попытайтесь сделать шаблон метода (template), и подставлять разные параметры. В теории должно получиться, на практике - руки не дошли проверить идею.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.