Easyelectronics.ru

Электроника для всех
Текущее время: 21 окт 2018, 09:01

Часовой пояс: 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
Сообщения: 1739
Откуда: Донецк, ДНР
Либы разные, хз чем там они отличаются, кроме компилятора/библиотекаря.
Посмотрите, может настройки какие-то есть. Цвета и прочее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 2689
Попробуйте увеличить кучу и стек в линкере


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

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

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


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2689
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
Сообщения: 1739
Откуда: Донецк, ДНР
Забавно. Никогда не подумал бы ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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 Кб]
Скачиваний: 151
Комментарий к файлу: В это окно не доходят
WindowMainDLG.c [15.16 Кб]
Скачиваний: 153
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 1739
Откуда: Донецк, ДНР
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
Сообщения: 1739
Откуда: Донецк, ДНР
Понятно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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 Кб]
Скачиваний: 18
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 22 мар 2018, 23:56 
Заглядывает иногда
Аватара пользователя

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

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


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

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


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

Сейчас этот форум просматривают: alex_k, VladislavS


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

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

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