Easyelectronics.ru • Просмотр темы - STemWin на STM32F4. Первый опыт. Вопросы.

Easyelectronics.ru

Электроника для всех
Текущее время: 15 авг 2018, 05:58

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 1224 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48, 49  След.
Автор Сообщение
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 21 фев 2018, 19:57 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
нажатие точно есть. Функция istouch возвращает 1. Это видно в отладчике, когда я смотрю GUI_TOUCH_StoreStateEx . Идут значение Х, значение Y, потом 1 (это и есть нажатие), последний 0.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 21 фев 2018, 20:11 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
кстати, сравнивал значения с Кактусом (там SPL), в GUI_TOUCH_StoreStateEx передаются значения такие же как и в Keil


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 21 фев 2018, 22:45 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
может дело и не в тачпаде...одну и туже версию emwin 5.40 подключил в кактусе и в кейле. настройки абсолютно одинаковы, но при нажатии на кнопку на экране кнопка (Coocox) закрашивается синим, а прошивка Keil почему то заливает коричневым.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 21 фев 2018, 23:20 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1716
Откуда: Донецк, ДНР
Либы разные, хз чем там они отличаются, кроме компилятора/библиотекаря.
Посмотрите, может настройки какие-то есть. Цвета и прочее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 22 фев 2018, 09:59 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
вообщем, грешу на использование стандартных библиотек. В Coocox всё просто, выбрал их мстользовать и пользуешься. В Keil, не понятно. И там и там версия emwin одна и та же, настройки одинаковые. Бог с этим тачем пока, но столкнулся с ещё одной проблемой.
Если в Coocox такое проходит и всё выводит
Код:
hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0);
sprintf (string_out,"%6i", result);
EDIT_SetText(hItem, string_out);

То в Keil, компилирует, но при отрисовке экрана, происходит зависание. Отрисовывает строчек 10 и далее чёрный экран


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 22 фев 2018, 10:06 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2662
Попробуйте увеличить кучу и стек в линкере


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 22 фев 2018, 10:13 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1716
Откуда: Донецк, ДНР
Да, sprintf стек любит... Куча может и ни при чём, по поэкспериментировать надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 22 фев 2018, 20:46 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
оказалась причина совершенно в другом... обычно я в MainTask() ставил GUI_Delay(), но тут он почему-то вешает весь emwin. Заменил на GUI_Exec(). Кнопки стали нажиматься, но почему то нет отрисовки отжатия. Отрисовывает отжатие кнопки только тогда, когда нажимаешь другую. как то тормознуто работает. не на всех кнопках срабатывает прописанное действие и отрисовка непонятным коричневым цветом, а должно быть синим. проверял эту версию в Coocox на SPL. Там всё чётко... мож кто запускал EMWIN на HAL??

https://youtu.be/izLT6PiPaxA


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 23 фев 2018, 11:40 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1716
Откуда: Донецк, ДНР
banzayy писал(а):
мож кто запускал EMWIN на HAL??

Я пас, халом не пользуюсь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 23 фев 2018, 12:59 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2662
emwin вообще никак с HAL не связано, разве что на уровне драйверов экрана/тача. Но я всё запускал на SPL/регистрах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 23 фев 2018, 19:10 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
в GUI_Delay виснуть перестало...Просто я забыл про такую маленькую штучку, как OS_TimeMS, который в systick надо было бы добавить..
Без него обычный графический режим будет работать, а менеджер окон нет. Осталось решить вопрос с отрисовкой нажатия кнопок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 25 фев 2018, 19:24 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
проект для сube keil 5. может всё таки кто подскажет. может с настройками кейла что не так...Такое ощущение, что не дружат emwin, keil и HAL
https://yadi.sk/d/N7dUhaXW3SkdSA


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 26 фев 2018, 15:04 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
вот прикол, в coocox работало и работает так
Код:
void Touch_Update ( void )
{
  GUI_PID_STATE TS_State;
  uint16_t x, y;

  ReadTouchXY ( &x, &y );

  TS_State.x = x;
  TS_State.y = y;
  TS_State.Pressed = isTouch ( );
  TS_State.Layer = 0;

  if((x<LCD_GetXSize())&&(y<LCD_GetYSize()))    {GUI_TOUCH_StoreStateEx (&TS_State);};
}

т.е. достаточно послать, что нажато
в Keil не заработало пока не стал посылать по какой координате отжало
Код:
void Touch_Update ( void )
{
  GUI_PID_STATE TS_State;
  uint16_t x, y;

   if(isTouch()==1)      {   ReadTouchXY (&x, &y);   
                     TS_State.Pressed=1;}
   else               {   TS_State.Pressed=0;};
   TS_State.Layer=0;   
   TS_State.x=x;
   TS_State.y=y;
   if((x<LCD_GetXSize())&&(y<LCD_GetYSize()))    {GUI_TOUCH_StoreStateEx (&TS_State);};
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 26 фев 2018, 17:35 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1716
Откуда: Донецк, ДНР
Забавно. Никогда не подумал бы ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 26 фев 2018, 20:06 
Старожил

Зарегистрирован: 27 сен 2013, 16:44
Сообщения: 227
Откуда: ЛНР, г. Луганск
hd44780 писал(а):
Забавно. Никогда не подумал бы ...

так и я о том же...это было озарение перед сном...на утро попробовал - работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 15 мар 2018, 10:57 
Заглядывает иногда

Зарегистрирован: 14 авг 2012, 14:40
Сообщения: 68
Приветствую. Столкнулся с непонятной проблемой. Есть 2 окна. Используются по отдельности. Так вот если просто создать одно окно и отправлять туда GUI_StoreKeyMsg(), то в нем все прекрасно принимается. Если же не меняя ничего в основной программе создать другое окно вместо первого, то до него уже нажатия не доходят. То есть единственное, что меняется в коде всей программы это вызов функции CreateWindow. Все остальное неизменно. В коде самих окон я принципиального различия не вижу. Просто разные виджеты и все. Может вы поможете мне. выкладываю исходники обоих окон.


Вложения:
Комментарий к файлу: В это окно доходит
Window1DLG.c [6.91 Кб]
Скачиваний: 106
Комментарий к файлу: В это окно не доходят
WindowMainDLG.c [15.16 Кб]
Скачиваний: 112
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 16 мар 2018, 14:23 
Заглядывает иногда

Зарегистрирован: 14 авг 2012, 14:40
Сообщения: 68
и ещё вопрос в догонку. Как сделать рамку вокруг виджета. Например как сделать виджет ТЕXT с рамкой вокруг. Единственный вариант который получился это тупо рисовать ни как не привязанный к нему прямоугольник вокруг. Вроде как есть вариант использовать WIDGET_SetDefaultEffect(&WIDGET_Effect_Simple). И исходя из документации должна появиться рамка. Но у меня вообще ничего не меняется какие бы я эффекты не ставил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 16 мар 2018, 17:50 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1716
Откуда: Донецк, ДНР
Ruslan-maniak писал(а):
и ещё вопрос в догонку. Как сделать рамку вокруг виджета. Например как сделать виджет ТЕXT с рамкой вокруг. Единственный вариант который получился это тупо рисовать ни как не привязанный к нему прямоугольник вокруг. Вроде как есть вариант использовать WIDGET_SetDefaultEffect(&WIDGET_Effect_Simple). И исходя из документации должна появиться рамка. Но у меня вообще ничего не меняется какие бы я эффекты не ставил.


А если WIDGET_SetEffect?

По клавиатуре особо не подскажу - мало работал с ней. Как Вы пихаете коды с клавиатуры в буфер STemWin?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 17 мар 2018, 08:34 
Заглядывает иногда

Зарегистрирован: 14 авг 2012, 14:40
Сообщения: 68
hd44780 писал(а):
Ruslan-maniak писал(а):
и ещё вопрос в догонку. Как сделать рамку вокруг виджета. Например как сделать виджет ТЕXT с рамкой вокруг. Единственный вариант который получился это тупо рисовать ни как не привязанный к нему прямоугольник вокруг. Вроде как есть вариант использовать WIDGET_SetDefaultEffect(&WIDGET_Effect_Simple). И исходя из документации должна появиться рамка. Но у меня вообще ничего не меняется какие бы я эффекты не ставил.


А если WIDGET_SetEffect?

По клавиатуре особо не подскажу - мало работал с ней. Как Вы пихаете коды с клавиатуры в буфер STemWin?

WIDGET_SetEffect к сожалению тоже не работает. С клавиатурой я разобрался. Чтобы с ходу передавать KEY_MSG, в окне должны быть элементы которые поддерживают Keyboard reaction (в документации у каждого виджета это описано). И в моем случае в одном окне были кнопки (они поддерживают Keyboard reaction), а в другом окне только тексты, прогбары и график (ни что из этого не поддерживает Keyboard reaction). Но на зарубежном форуме нашел финт как установить фокус на всё окно и тогда оно будет поддерживать Keyboard reaction. Для этого нужно сделать WM__ahWinFocus[0] = hWin, где hWin - хэндл всего окна. Лично я это сделал в функции создания окна. И все взлетело.
Код:
WM_HWIN CreateWindowMain(void)
{
    WM_HWIN hWin;   
    hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
    WM__ahWinFocus[0] = hWin;
    return hWin;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 17 мар 2018, 10:37 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1716
Откуда: Донецк, ДНР
Понятно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 18 мар 2018, 17:37 
Только пришел

Зарегистрирован: 07 мар 2018, 19:12
Сообщения: 7
Столкнулся с проблемой, есть 2 слоя, используется двойная буферизация на каждый слой. Пытаюсь вывести BMP 800x480 (RGB565) с SD-карты (с применением SDRAM и DMA):
1. Вывожу в 0 слой, все хорошо:
Show Функция _GetData

Show Функция ShowBMP

Show Цикл вывода изображений

2. Вывожу в 1 слой, первое изображение выводится без видимых проблем, а последующие в момент вывода распадаются (рябь и тп):
Show Цикл вывода изображений

И только если сделать 0 слой невидимым (раскомментировать строку GUI_SetLayerVisEx( 0, 0 );), изображения начинают выводится нормально. Помогите разобраться, информации в интернете по библиотеке мало. Конфигурационные файлы во вложении. Заранее спасибо.


Вложения:
STemWin_Config.rar [8.66 Кб]
Скачиваний: 15
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 22 мар 2018, 23:56 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 24 июл 2016, 00:07
Сообщения: 104
Сейчас плотно засел за STemWin, такой вопрос возник - можно ли с помощью GUI_DispStringAt писать поверх FRAMEWIN? Пока никак не выходит, увы :(
P.S. Разобрался, просто писать надо в событии WM_PAINT.
P.P.S. Снова запнулся. Когда создаю FRAMEWIN, в событии WM_PAINT я получая hWin совсем не тот, на единицу больший, чем должно быть. До этого все события шли с правильным hWin. Что не так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 23 мар 2018, 13:52 
Заглядывает иногда

Зарегистрирован: 14 авг 2012, 14:40
Сообщения: 68
Misaka10032 писал(а):
Сейчас плотно засел за STemWin, такой вопрос возник - можно ли с помощью GUI_DispStringAt писать поверх FRAMEWIN? Пока никак не выходит, увы :(
P.S. Разобрался, просто писать надо в событии WM_PAINT.
P.P.S. Снова запнулся. Когда создаю FRAMEWIN, в событии WM_PAINT я получая hWin совсем не тот, на единицу больший, чем должно быть. До этого все события шли с правильным hWin. Что не так?

Насколько я знаю, лучше тексты и примитивы отрисовывать в WM_POST_PAINT событии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 23 мар 2018, 14:17 
Заглядывает иногда

Зарегистрирован: 14 авг 2012, 14:40
Сообщения: 68
Подскажите кто знает, как при создании окна установить фокус на конкретный виджет в этом окне? После создания, фокуса нет ни на одном виджете.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 23 мар 2018, 16:55 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 24 июл 2016, 00:07
Сообщения: 104
Ruslan-maniak писал(а):
Подскажите кто знает, как при создании окна установить фокус на конкретный виджет в этом окне? После создания, фокуса нет ни на одном виджете.

У меня работает WM_SetFocus(handle).
Если есть ID, то сначала получаем handle. То есть в итоге так: WM_SetFocus(WM_GetDialogItem(pMsg->hWin, ID));


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1224 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48, 49  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB