Easyelectronics.ru

Электроника для всех
Текущее время: 15 окт 2019, 19:03

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 1244 ]  На страницу Пред.  1 ... 40, 41, 42, 43, 44, 45, 46 ... 50  След.
Автор Сообщение
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 28 май 2017, 20:28 
Заглядывает иногда

Зарегистрирован: 21 сен 2016, 01:28
Сообщения: 35
В чем разница типа FSMC, NOR или SRAM?


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1785
Откуда: Донецк, ДНР
Какие ноги у Вашего дисплея? D0-15, nCS, RS, nWR, nRD?


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

Зарегистрирован: 21 сен 2016, 01:28
Сообщения: 35
hd44780 писал(а):
Какие ноги у Вашего дисплея? D0-15, nCS, RS, nWR, nRD?
Да ног много, стандартные. https://yadi.sk/d/SSHyxdPh3Jbqq2
https://yadi.sk/d/-KpdXKNp3Jbqrw
https://yadi.sk/d/Yte9hgHJ3Jbqur
выбран по умолчанию интерфейс DBI 16 бит, подключен соответственно, 3 раза прозвонил выводы, сиганл на них есть и такой какой нужно, на чтение отвечает но например на запрос ID отвечает 0х0011 все время сколько не считывай, а должен хх, 00, 80, 00 и так на все, ничего не совпадает. но если считывать подав высокий CS то считывается 0хFF, т.е экран отвечает что-то и живой.


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

Зарегистрирован: 30 мар 2017, 15:13
Сообщения: 12
Добрый день.
Столкнулся с совершенно глупой проблемой, но никак не удается её решить. Нарисовал в окошке с помощью GUI_Builder - Listbox и пару кнопок. В Listbox несколько строк надписей. Хочу перемещать на них курсор с помощью физической кнопки. Да вот не получается. Передаю в функцию GUI_PID_StoreState() координаты Listbox, выделяется только первый элемент, а дальше двигаться курсор ни в какую не хочет. В WM_NOTIFICATION_CLICKED использую стандартные функции для работы с Listbox: hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX_0); LISTBOX_IncSel(hItem);. Стоит эти же функции добавить в обработчик кнопки Button Widget ( в GUI_PID_StoreState() добавил координаты кнопки) - и всё работает, курсор передвигается по списку. Подскажите пожалуйста, как правильно работать с Listbox.


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2862
Запустил STemWin 532 OS версии на FreeRTOS. Драйвер тача - TSC2013Q-1, внутри аппаратные фильтры, опрашиваю каждые 75мс, вполне хватает. Пробовал в GUI Builder рисовать окна, но он годится только для визуального представления что и как будет располагаться, от него беру только координаты, размеры. Нехватает функций выделения нескольких объектов. Захотел сдвинуть виджеты все вниз - у каждого координату прибавь. Нет многих параметров самих виджетов.
Сейчас засел на WM_SendMessage() и приеме сообщения окном. Есть фриртосная задача измерения температуры раз в секунду. В ней я смотрю, что нужное мне окно активно (WM_IsWindow()) и затем отсылаю в него сообщение. В обработчике добавляю свой case c нужным мне ID, например WM_USER + 1 и...ничего не получаю. Не заходит в этот case. Смотрю примеры от segger "emWin_Tutorials_SRC" там ровно тоже самое. WM_IsWindow() отрабатывает корректно, пока окно не открою возвращает 0.


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1785
Откуда: Донецк, ДНР
Hold, а можете показать кусочки кода, как Вы сообщения отсылаете/принимаете? У меня эта отсылка работает довольно давно и проблем с нею я пока не замечал.


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2862
Пока писал пост, уже наткнулся на ваше сообщение с WM_GetClientWindow().
Картина следующая:
Есть главное окно, зовется MainWindow. Организовано с помощью WINDOW_CreateIndirect
У него один элемент - MULTIPAGE.
Код:
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{WINDOW_CreateIndirect,      "MainWindow",   ID_WINDOW_0,   0,   0,   800,   480,   0,   0x0,   0},
{MULTIPAGE_CreateIndirect,   "Multipage",   ID_MULTIPAGE_0,   0,   0,   799,   479,   0,   0x0,   0},
};

В коллбэке, при инициализации диалога я привязываю к определенной вкладке мультипейджа другой диалог, который также организован на WINDOW_CreateIndirect, пусть этот зовется BlenderPG:
Код:
hDialog = CreateBlenderPG();
MULTIPAGE_AddPage(hItem, hDialog, "Blender");

где
Код:
WM_HWIN CreateBlenderPG(void)
{
   WM_HWIN hWin;

   hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
   return hWin;
}

В диалоге Blender PG уже поболее элементов, и есть кнопка, которая вызывает настройки.
Вызов сделан следующим образом:
Код:
            case ID_BUTTON_2: // Notifications sent by 'Motor settings'
            {
               switch(NCode)
               {
                  case WM_NOTIFICATION_CLICKED:
                  break;
                  case WM_NOTIFICATION_RELEASED:
                     CreateStepMotorSetDLG();      // Вызовем диалог настройки мотора
                  break;
               }
               break;
            }

где
Код:
WM_HWIN CreateStepMotorSetDLG(void)
{
   WM_HWIN hWin;

   hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
   hStepMotorDLG = hWin;
   return hWin;
}

Переменная hStepMotorDLG используется в WM_SendMessage(), как адрес, куда отправить сообщение.
Диалог StepMotorSetDLG создан уже с помощью FRAMEWIN_CreateIndirect, перемещаемый. И вот в этом диалоге мне необходимо динамически показывать температуру в одном из виджетов.
Функция GUI_CreateDialogBox согласно ману возвращает
Цитата:
Handle of the created dialog. This handle can be used to access the first widget from
the resource table. This should be a FRAMEWIN or WINDOW widget.

т.е. хэндл диалога.
Входным параметром функции WM_SendMessage() является тоже хэндл, но Window handle, т.е. окна.
В доке несколько размытое понятие что такое window. По сути даже виджет является окном.
В итоге наткнулся, непонятно почему раньше не заметил:
Цитата:
Since a dialog itself usually consists of 2 windows (dialog and client window), mes-
sages have to be sent using the correct handle. After a dialog was created there is
only one handle to the dialog. In order to access the client window, the function
WM_GetClientWindow() should be used.

Вольный перевод таков - в диалоге два окна: диалог и пользовательское окно. Изначально получаемый хэндл указывает на сам диалог. Хочешь слать сообщения - используй WM_GetClientWindow().
Видимо первый хэндл используется для управления самим диалогом, т.е. для его закрытия. Второй уже отвечает за видимую область. Тогда не совсем понятно что именно мы удаляем
функцией WM_DeleteWindow. Диалог или пользовательское окно? Или client window необходимо только для сообщений?
Изображение
UPD: в итоге оказалось логичнее запустить секундный таймер и по нему обновлять значение в поле EDIT.


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1785
Откуда: Донецк, ДНР
Да, таймер проще. С WM_GetClientWindow для сообщений я сам до конца не разобрался, подбираю методом тыка в каждом конкретном случае. Возможно где-то в недрах гуя есть плавающий баг, не знаю.
WM_DeleteWindow надо удалять именно диалог -- тот самый хэндл, который даёт нам GUI_CreateDialogBox. Так вроде во всех ихних примерах делают. Я тоже так делаю :)

Оффтоп - Hold, чем вы моторчики крутите? L293?


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2862
Крутим DRV8825. Печки еще те.


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1785
Откуда: Донецк, ДНР
Hold писал(а):
Крутим DRV8825. Печки еще те.

Ясно. спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 11 июн 2017, 22:54 
Заглядывает иногда

Зарегистрирован: 14 окт 2013, 11:43
Сообщения: 41
Откуда: Kiev
Hold писал(а):
Крутим DRV8825. Печки еще те.

китайские модульки не них почему-то стоят дешевле чем сама
DRV8825 отдельно.
В этих модульках кстати защита от токовой перегрузки
не подключена, поэтому спалить их очень легко.


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2862
Не знаю какая там схемотехника на китайских модулях, однако драйвер вполне себе рапортует ногой fault, когда у него перегруз по току, температуре. У меня установка тока идет через ЦАПы, когда цап настраивал случайно дал на выход 3.3В и драйвер оказался включен. Долго не мог понять, почему драйвер моргает выходом Fault с периодом секунда. Защиты там вся внутри, снаружи лишь заводится опорное напряжение на входы AVREF/BVREF да резисторы-шунты нужных номиналов на соответствующие ноги. Что смущает - у меня на драйвер приходится почти по 25см2 фольги + радиатор сверху, и то при токе 2.5А и 24В входного они раскаляются до 100 °С (еще сильно зависит от режима decay). Как на таком токе работают китайские модули, у которых вообще медяхи нет непонятно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 28 июн 2017, 16:37 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2862
Hold писал(а):
По поводу частоты PCLK - похоже не хватает пропускной способности FMC контроллера при 16-ти битной шине данных. Стоит занизить скорость вывода на ЖК, уменьшив PCLK, как увеличивается скорость отрисовки, т.к. у проца или DMA2D появляется больше свободного времени на доступ к SDRAM, в которой видеобуфер. Стоит уменьшить формат пикселя с ARGB на RGB, как тут же увеличивается скорость отрисовки, т.к. с SDRAM тянется меньше данных. Надо ставить MT48LC4M32B2, он хотя бы в TSOP корпусе, остальные почти все BGA

Сделали новую платку, под SDRAM 32бит данных. Тест оба чипа оперативки прошли, частота 104 МГц. Пропускная способность шины должна подняться почти в 2 раза, прикручу STemWin отпишусь. Может и сильные лаги при буфере GUI в SDRAM уйдут, хотя это смотря какой разрядностью оперирует GUI. Разводка гемор, FMC со всех 4-х сторон чипа торчит, пришлось 6-ти слойку делать.
Изображение


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1785
Откуда: Донецк, ДНР
Hold писал(а):
Разводка гемор, FMC со всех 4-х сторон чипа торчит, пришлось 6-ти слойку делать.


Да, распиновка чипов у ST -- ужас какой-то. Для кого они её делают ....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 02 июл 2017, 00:38 
Заглядывает иногда

Зарегистрирован: 20 июн 2012, 12:56
Сообщения: 61
Интересно увидеть разницу во времени для отрисовки с двумя SDRAM. Сам сейчас делаю 4-х слойку для 32-битной SDRAM. На 16 битной при 800x480 и перерисовки большего окна экрана или скролинга в большом окне лаги заметные Тут на подходе в продажи STM32H7, вот тут приличная разница должна быть.


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

Зарегистрирован: 14 окт 2013, 11:43
Сообщения: 41
Откуда: Kiev
Raash писал(а):
Интересно увидеть разницу во времени для отрисовки с двумя SDRAM. Сам сейчас делаю 4-х слойку для 32-битной SDRAM. На 16 битной при 800x480 и перерисовки большего окна экрана или скролинга в большом окне лаги заметные .

а можно поподробней о "лагах"
желательно с исходниками....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 03 июл 2017, 01:45 
Заглядывает иногда

Зарегистрирован: 20 июн 2012, 12:56
Сообщения: 61
исходников emWin у меня нет. Лаги заметны, если прокручивать или перемещать большое изображение поверх другого. В дебри взаимодействия драйвера STM и emWin ещё не залазил до той степени можно ли там что нибудь поправить в быстродействии.
А увидеть лаги можно:
1) Создайте окно 800x480 с виджетами, штук 5-10. Потом создайте ещё окно, которое можно перемещать, поверх первого, примерно 600x400 и встройте в него виджет графика. Теперь перемещайте второе окно по экрану и будет заметно как перерисовка виджета графика отстаёт от перерисовки перемещаемого окна.
2) Создайте окно 800x480 и окно большего размера, встройте в него 20-30 штук виджетов, чтобы их возможно было скролить.
И при быстром перемещении верх вниз будет видно запаздывание перерисовки виджетов от перерисовки окна в которое они встроены.
А если виджеты наворачивать скруглениями, фонами и т.п. эти лаги становятся ещё заметными.
Конечно можно придумать алгоритм перемещения окон времено скрывая их, как это сделано в винде, но это нужно ещё дописать или докопаться до внутреностей emWin c драйвером, или мощнее процессор. Ещё как вариант может помогут слои, но пока с ними не разбирался.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 03 июл 2017, 11:29 
Заглядывает иногда

Зарегистрирован: 14 окт 2013, 11:43
Сообщения: 41
Откуда: Kiev
под исходниками подразумевается инициализация для дисплея, памяти, тачпада


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

Зарегистрирован: 21 сен 2016, 01:28
Сообщения: 35
Добрый вечер. Снова не могу разобраться, меню не реагирует на нажатие тача, т.е. я могу двигаться по меню, при нажатии на элемент есть анамация нажатия, но самого выбора не происходит и меню не закрывается. Делал на другом МК и экране попроще там все работало сразу,тут не пойму в чем дело, с кнопок все впорядке, а тач не хочет. Другие элементы интерфейса на тач адекватно реагируеют. Что может быть не так с меню?, вроде нет такой настройки нереагировать на тач. Если жму на само меню, то оно открывается, а вот выбор элементов не работает, причем подменю также нормально открываются.


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

Зарегистрирован: 21 сен 2016, 01:28
Сообщения: 35
Разобрался.


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

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 783
Хочу поинтересоваться, а кто как выводит текст на экран? С помощью каких виджетов?


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1785
Откуда: Донецк, ДНР
zhilenkov писал(а):
Хочу поинтересоваться, а кто как выводит текст на экран? С помощью каких виджетов?


Если в окне, то виджет TEXT, если просто так (делал типа виндозного трея, там часики, значки разные), то GUI_DispStringAt.
Другими не пользовался и не знаю, есть ли ещё что-либо на эту тему.


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

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 783
А вы не прибывали использовать Edit widget ? Для вывода текстов на дисплей?


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2862
Провел тест STemWin на двух SDRAM, общая ширина шины данных 32 бита. Режим RGB565, CLK на экран 16 Мгц. Из плюсов - корректно заработала функция DMA_MixColors, ранее я описывал проблему с ней, сейчас такой проблемы не наблюдается. Единственное изменение - ширина шины данных на SDRAM. Пробовал запуск в режиме ARGB, теперь пропускной способности хватает чтобы без проблем выводить с нормальным ФПС. Итоговый тест показал 141 мпикс/с, или почти 300 мбайт/с. Круто, чо. P.S. А каруселька один хрень подтормаживает.


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1785
Откуда: Донецк, ДНР
zhilenkov писал(а):
А вы не прибывали использовать Edit widget ? Для вывода текстов на дисплей?

Edit использовал по прямому назначению (вводил текст с клавиатуры), а также вставлял в него строчку, считанную из файла - проблем не заметил.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1244 ]  На страницу Пред.  1 ... 40, 41, 42, 43, 44, 45, 46 ... 50  След.

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


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

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


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

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

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