Easyelectronics.ru

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

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



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

Начать новую тему Ответить на тему  [ Сообщений: 1251 ]  На страницу Пред.  1 ... 40, 41, 42, 43, 44, 45, 46 ... 51  След.
Автор Сообщение
 Заголовок сообщения: 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
Сообщения: 1789
Откуда: Донецк, ДНР
Какие ноги у Вашего дисплея? 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
Сообщения: 2870
Запустил 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
Сообщения: 1789
Откуда: Донецк, ДНР
Hold, а можете показать кусочки кода, как Вы сообщения отсылаете/принимаете? У меня эта отсылка работает довольно давно и проблем с нею я пока не замечал.


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2870
Пока писал пост, уже наткнулся на ваше сообщение с 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
Сообщения: 1789
Откуда: Донецк, ДНР
Да, таймер проще. С WM_GetClientWindow для сообщений я сам до конца не разобрался, подбираю методом тыка в каждом конкретном случае. Возможно где-то в недрах гуя есть плавающий баг, не знаю.
WM_DeleteWindow надо удалять именно диалог -- тот самый хэндл, который даёт нам GUI_CreateDialogBox. Так вроде во всех ихних примерах делают. Я тоже так делаю :)

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


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

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


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

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1789
Откуда: Донецк, ДНР
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
Сообщения: 2870
Не знаю какая там схемотехника на китайских модулях, однако драйвер вполне себе рапортует ногой fault, когда у него перегруз по току, температуре. У меня установка тока идет через ЦАПы, когда цап настраивал случайно дал на выход 3.3В и драйвер оказался включен. Долго не мог понять, почему драйвер моргает выходом Fault с периодом секунда. Защиты там вся внутри, снаружи лишь заводится опорное напряжение на входы AVREF/BVREF да резисторы-шунты нужных номиналов на соответствующие ноги. Что смущает - у меня на драйвер приходится почти по 25см2 фольги + радиатор сверху, и то при токе 2.5А и 24В входного они раскаляются до 100 °С (еще сильно зависит от режима decay). Как на таком токе работают китайские модули, у которых вообще медяхи нет непонятно.


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2870
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
Сообщения: 1789
Откуда: Донецк, ДНР
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
Сообщения: 790
Хочу поинтересоваться, а кто как выводит текст на экран? С помощью каких виджетов?


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

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


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


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

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


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

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2870
Провел тест 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
Сообщения: 1789
Откуда: Донецк, ДНР
zhilenkov писал(а):
А вы не прибывали использовать Edit widget ? Для вывода текстов на дисплей?

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


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


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


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

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


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

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

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