реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Не выводится текст в uC-GUI
Vladimir_T
сообщение Jun 25 2008, 02:34
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Здравствуйте, уважаемые коллеги, где можно почитать об внутреннем устройстве uC/GUI? И почему может не выводиться текст, при том, что графика выводится нормально? Система такая: АРМ STR911, S1D13705, uC/OS. Тест раньше выводился с разными шрифтами, сейчас выводятся лишь подчищенное окошко, да и то неправильных размеров. Чтобы понять ошибку хотел бы точно знать цепочку вызовов функций. Заранее благодарен.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 25 2008, 06:01
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Схематично выглядит так:

Код
{
  void       *bmp_logo;

  LCD_Init();  // Инициализируем дисплей (наша функция)  
  GUI_Init();  // Инициализируем GUI (функция микриума)

  Get_bmp_from_file(LOGO_FNM, &bmp_logo); // Прочитаем в память BMP файл например (наша функция)
  
  GUI_SetBkColor(GUI_WHITE); // Установим цвет фона

  GUI_Clear(); // Зальем все окно выбраным цветом

  GUI_SetColor(GUI_BLACK);// Цвет рисования

  GUI_SetPenSize(1);     // Толщина линий
  GUI_BMP_Draw(bmp_logo,0, 0); // Вывод BMP

  GUI_SetFont(&GUI_Font6x8);// Выбор шрифта
  strcpy(str,"Demo");
  
  GUI_DispStringAt(str,0,40); // Вывод строки


}



Еще надо помнить, что uС/GUI не реентерабельная, т.е. нельзя вызывать в чистом виде функции GUI из разных задач.
Надо всегда защищать семафорами все обращения к GUI.
При этом после любого вызова могут оказаться изменеными цвета и шрифты.
Поэтому выполнять надо в одном непрерывном защищенном семафорами блоке и установку цветов и шрифтов и непосредственно вывод.


Цитата(Vladimir_T @ Jun 25 2008, 06:04) *
Здравствуйте, уважаемые коллеги, где можно почитать об внутреннем устройстве uC/GUI? И почему может не выводиться текст, при том, что графика выводится нормально? Система такая: АРМ STR911, S1D13705, uC/OS. Тест раньше выводился с разными шрифтами, сейчас выводятся лишь подчищенное окошко, да и то неправильных размеров. Чтобы понять ошибку хотел бы точно знать цепочку вызовов функций. Заранее благодарен.
Go to the top of the page
 
+Quote Post
Vladimir_T
сообщение Jun 25 2008, 09:05
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Спасибо за ответ. Проблема решена. Пришлось сделать небольшую задержку в низкоуровневой функции вывода в контроллер LCD.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 01:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016