Схематично выглядит так:
Код
{
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. Тест раньше выводился с разными шрифтами, сейчас выводятся лишь подчищенное окошко, да и то неправильных размеров. Чтобы понять ошибку хотел бы точно знать цепочку вызовов функций. Заранее благодарен.