Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/4383: Рейтинг темы: голосов - 4383, средняя оценка - 4.94
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605

STemWin на STM32F4. Первый опыт. Вопросы.

21.12.2013, 23:06. Показов 835355. Ответов 1103
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот, задумавшись о GUI, решил попробовать эту либу.
Моё железо - STM32F4 (Dyscovery) и дисплей с Ebay разрешением 800х480 на контроллере SSD1963 с 16-битным интерфейсом.
Эта аппаратная связка давно обкатана и работает. Под это дело я писал свои драйверы и библиотеки. Работал с дисплеем через DMA и без него. Всё прекрасно.

Т.к. никаких заводских плат со встроенными дисплеями у меня нет, мне пришлось править и переписывать под себя конфигурационные модули STemWin. Для старта взял стандартный пример из ST-шного архива. Дальше стартовой заставки я не продвинулся, т.к. там нужен тач, а я пока не разобрался, как туда подключить мой драйвер тача. Но и тут проблемы.

В итоге получилось 2 варианта - на драйвере FlexColor (штатный драйвер STemWin, поддерживающий SSD1963) и мой собственный. Оба прилагаю.

В целом оба варианта запустились в общем-то с пол-оборота, но есть ряд непоняток:

1. На драйвере FlexColor некоторые строчки текста на экране выглядят как некий мусор. Я понимаю, что я мог где-то ошибиться, но тогда бы не работало ни-че-го, т.к. пользовательский драйвер для Flex-Color представляет собой 4 функции - запись команды/данных и запись/чтения блока. По сути это функции работы с FSMC. Плюс функция низкоуровневой инициализации SSD1963.

2. На моём драйвере все строчки рисуются нормально, но нету стрелочки курсора мыши, который есть на FlexColor. Подозреваю, что это из-за отсутствия функции вывода картинки на дисплей. В драйвере дисплея она у меня есть, но я не понял, куда её запихать в ST-шную прослойку. Да и тормозит заметно в сравнении с FlexColor.

Если кто разбирался, подскажите пожалуйста.
Если надо, я выложу полные проекты на кокосе. Блок CRC включён (просто знаю, что на этом многие ловятся, но это не мой случай).

Ещё один вопрос про память для GUI.

Я видел конструкцию
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#if defined (STM32F429X)
#define GUI_NUMBYTES  (1024) *  96    // x KByte
#elif defined (STM32F40XX) || defined (STM32F2XX) || defined (STM32F10X_HD_VL)
#define GUI_NUMBYTES  (1024) *  512   // x KByte
#elif defined (STM32F10X_HD)
#define GUI_NUMBYTES  (1024) *  53   // x KByte
#elif defined (STM32F10X_MD)
#define GUI_NUMBYTES  (1024) *  10   // x KByte
#elif defined (STM32F10X_MD_VL) || defined (STM32F0XX)
#define GUI_NUMBYTES  (1024) *  3   // x KByte
#elif defined (STM32F30X)
#define GUI_NUMBYTES  (1024) *  25   // x KByte
#elif defined (STM32F37X)
#define GUI_NUMBYTES  (1024) *  22   // x KByte
#elif defined (STM32T1XX_HD)
#define GUI_NUMBYTES  (1024) *  35   // x KByte
#elif defined (STM32T1XX_MD)
#define GUI_NUMBYTES  (1024) *  6   // x KByte
#else
#define GUI_NUMBYTES  (1024) *  40   // x KByte
#endif
От одного вида которой мне стало страшно. У меня проц F407, Значит я должен дать ему 512 кил оперативы.
Внешней памяти у меня нет, в силу урезанности FSMC на 100-ногих процах. Или что, оно работает только на 429-Dyscovery, где стоит 8-метровый чип SDROM? Охренеть...
Дал ей пока 64К, но рекомендаций по этим объёмам я не нашёл. Сколько ей надо?

Спасибо.

[23.93 Кб]

[18.45 Кб]
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2013, 23:06
Ответы с готовыми решениями:

Измерение уровней звука. Вопросы. Первый опыт.
Всем доброго времени суток! Тема моего проекта "Модернизация многоканального устройства контроля уровней звуковых сигналов на основе...

Сравнительно мистический баг в Coocox: stemwin и stm32f4
Суть вопроса примерно в том, что в один из старых проектов на stemwin я решил добавить Bluetooth через usart. (переносил самописный драйвер...

Вопросы по STM32F4
Начал осваивать STM32F4. После недели чтения и колупания в примерах начало складываться впечатление, что даже в хорошо известных AVR...

1103
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
03.08.2017, 09:11
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от zhytimkov
Как можно проверять что окно открыто и готова принимать сообщения вида:
Попробуйте WM_IsWymdow(). Поможет или нет - не знаю.

Hidkihok, к F429Dyscovery есть примеры с гуём. Вроде в репах куба что-то видел.
0
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 85
03.08.2017, 17:12
hd44780, спасибо.
Собственно примеры к плате и распатрониваю. Видимо в процессе ухода от SPL (в сторону CMSIS) где-то накосячил.
0
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
22.08.2017, 09:08
Заметил вот такую проблему. Если быстро нажимать кнопки на тачь панели при переходе от экрана к экрану то GUI зависает. Кто нибудь сталкивался с такой проблемой ? Сделал вот так:
Code
1
2
3
      if(WM_IsWymdow(hDlg)){
GUI_TOUCH_StoreStateEx(&TS_State);
}
Стало лучше зависания не обнаружил, но не знаю насколько это правильно. Почему-то очень мало людей кто использует WM_IsWymdow(hDlg).
0
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 50
27.08.2017, 00:00
Хм, сейчас пытаюсь запустить на F4 дисплей с SPI. Раньше прикручивал к STemWin дисплей с 16-битной шиной, а вот с SPI впал в ступор.
В прошлом проекте с параллельной шиной конец LCD_X_Config был такой:
Code
1
2
3
4
5
PortAPI.pfWrite16_A0  = LcdWriteReg;
PortAPI.pfWrite16_A1  = LcdWriteData;
PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
PortAPI.pfReadM16_A1  = LcdReadDataMultiple;
GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16);
Ну тут понятно, а вот какие функции надо реализовывать для SPI? Там же всё 8-битное, это раз.
Два - нашёл на сеггеровском форуме пример с такими строчками в LCD_X_Config:
Code
1
2
LCD_SetDevFunc(0, LCD_DEVFUNC_READPIXEL,   (void(*)(void))_ReadPyxit);
LCD_SetDevFunc(0, LCD_DEVFUNC_READMPIXELS, (void(*)(void))_ReadMPyxits);
Тут только чтение одного\нескольких пикселей.
Отсюда вопрос - достаточно ли будет просто сказать драйверу про функции записи\чтения пикселей?
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
27.08.2017, 09:50
Цитата Сообщение от Mysoko10032
Ну тут понятно, а вот какие функции надо реализовывать для SPI? Там же всё 8-битное, это раз.
В PortAPI есть 5 указателей и для 8-битных функций - см. таблицу 33.44 стр. 1129 руководства по STemWin 5.32. Но при этом Вы обязаны корректно задать тип Вашего контроллера дисплея аргументом pfFunc этой же функции GUIDRV_FlexColor_SetFunc.

Цитата Сообщение от Mysoko10032
Два - нашёл на сеггеровском форуме пример с такими строчками в LCD_X_Config:
Код:
LCD_SetDevFunc(0, LCD_DEVFUNC_READPIXEL, (void(*)(void))_ReadPyxit);
LCD_SetDevFunc(0, LCD_DEVFUNC_READMPIXELS, (void(*)(void))_ReadMPyxits);

Тут только чтение одного\нескольких пикселей.
Отсюда вопрос - достаточно ли будет просто сказать драйверу про функции записи\чтения пикселей?
Я не знаю, что там на сеггеровском форуме пишут, но, как я понимаю FlexColor в целом (вне зависимости от типа дисплея), на уровне функций GUI_PORT_API (2-й аргумент GUIDRV_FlexColor_SetFunc) нет понятия "пиксель". Вы задаёте просто функции передачи байта/байтов туда-сюда в сочетании с одной адресной линией (xxxA0/xxxA1). И не более того. Даже всё равно как и куда Вы в действительности пишете эти байты. Хоть по вай-фаю в комп. Гую и драйверу всё равно.
Адресная линия на дисплеях чаще всего называется RS.
А пиксели там читаются/пишутся или нет - это уже не Ваше дело. Это заботы 100% драйвера. Потому просто забудьте об этом :)

PS. Если хотите сами рулить пикселями - выкиньте FlexColor и пишите кастомный драйвер. Там атомарная операция - прочитать/записать один пиксель.
0
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 50
27.08.2017, 12:35
Цитата Сообщение от hd44780
Вы задаёте просто функции передачи байта/байтов туда-сюда в сочетании с одной адресной линией (xxxA0/xxxA1). И не более того. Даже всё равно как и куда Вы в действительности пишете эти байты. Хоть по вай-фаю в комп. Гую и драйверу всё равно.
Адресная линия на дисплеях чаще всего называется RS.
А пиксели там читаются/пишутся или нет - это уже не Ваше дело. Это заботы 100% драйвера. Потому просто забудьте об этом :)
Всё, спасибо, кажись понял)) Мне до вашего сообщения было непонятно просто, а откуда вообще FlexColor знает, как общаться с конкретным дисплеем.
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 49
03.09.2017, 12:15
Столкнулся с проблемой реализации создания уведомления .
CУсть множество страниц созданных следующим образом
WM_HWIN Createfrm_main(void);
WM_HWIN Createfrm_main(void) {
WM_HWIN hWin;

hWin = GUI_CreateDialogBox(_aDialogCreate_main, GUI_COUNTOF(_aDialogCreate_main), _cbDialog_main, WM_HBKWIN, 0, 0);
return hWin;
}

// USER START (Optionally ymsirt additional public code)
void Pape_form_cotybration_magnetic(void);
void Page_Createfrm_main(void)
{
WM_HWIN hWin,hItem;
Encoder_init_count(4);
hWin=Createfrm_main();

while(open_page)
{
GUI_Delay(100);
encoder_menu_encoder((GUI_WIDGET_CREATE_ INFO*)_aDialogCreate_main,1,5);
}

WM_DeleteWymdow(hWin);

switch(next_page)
{
case 10://imputsi menu

Page_Imputsi_mode_type();
......

}
// USER END
Есть таймер на котором висит анализ. Наступает критическое событие и хочу вывести сообщение .Сообщение создается в прерывании таймера.
Страницу создаю схожим форматом.
Сообщение выводится , но emwin виснет, без вылетов d Hord_fault.
Как лучше реализовать такую фитчу.
0
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 108
06.09.2017, 15:13
немного не в тему
как при создании видеобуфера проинициализировать его другим массивом (картинкой)? чтобы не хранить в памяти картинку, которую потом придется копировать в буфер
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
06.09.2017, 17:55
Цитата Сообщение от vom_di_tuxi
как при создании видеобуфера проинициализировать его другим массивом (картинкой)? чтобы не хранить в памяти картинку, которую потом придется копировать в буфер
Ну как Вы это сделаете? Вам же надо где-то хранить то, чем Вы будете заполнять видебуфер ...
Не хотите забивать этим "хламом" флэш проца и ROM (неважно какой) - ну положите картинку в какой-нибудь внешней SPI Ftosh и тяните её оттуда когда хотите (не только при инициализации).
Другое дело - вопрос стыковки этой картинки с STemWin. Насколько я знаю, она требует обычного указателя на эту картинку. А это значит, что Вы можете держать её только в той памяти, которая мапится на адресное пространство процессора. Т.е., чтобы можно было вытянуть какой-либо байт из картинки через простой указатель типа *p. А тот же SPI/I2C такого не умеет физически. Тут может помочь только какая-то память на FMC/FSMC.
Но может STemWin имеет ещё какой-либо механизм задания фоновых картинок - тут не подскажу, глубоко не изучал.
0
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 108
06.09.2017, 18:05
Мне эта картинка нужна как заставка при включении
Получается что я пользуюсь ей 1 раз, а памяти она прилично занимает, да и лишняя операция копирования.
Если только при включении указать видеобуфер на массив картинки, а потом его переключить во время основной работы..
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
06.09.2017, 18:10
Если картинка влезает по размеру во флеш МК, объявите массив с картинкой как const, при этом он должен будет быть положенным во флеш, и при выводе заставки укажите указатель на этот массив в качестве источника
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
06.09.2017, 21:17
Цитата Сообщение от vom_di_tuxi
Мне эта картинка нужна как заставка при включении
Получается что я пользуюсь ей 1 раз, а памяти она прилично занимает, да и лишняя операция копирования.
Если только при включении указать видеобуфер на массив картинки, а потом его переключить во время основной работы..
Можно и так. Но картинка обязана лежать во флэш проца. Копировать её никуда не нужно, просто перепрограммируйте слой LTDC.

Да, вон BusMostir правильно говорит. Массив обязательно задавать со словом const. Иначе он ляжет в ROM, а не во flash.
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
26.09.2017, 10:32
Нужен совет, как сделать оптимальнее.
Есть слайдер. Запись положения переменную происходит при отпускании слайдера, т.е. при WM_NOTIFICATION_RELEASED делаем SLIDER_GetValue(). Необходимо, чтобы слайдер регулярно обновлял свое значение на основе этой же переменной (переменная может поменяться из других тасков). Делаю таймер на 1 с, который регулярно устанавливает SLIDER_SetValue() исходя из значения переменной. В итоге получается конфликт - при ручном изменении (перемещении слайдера), слайдер постоянно прыгает в исходное положение, т.к. переменная не изменяется, пока я двигаю слайдер. Можно попробовать по событию WM_NOTIFICATION_CLICKED останавливать обновление положение слайдера, но как-то костыльно. При 20 слайдерах, нужно каждому сделать свой флажок на запрет обновлений. Бегло поглядел API, не нашел подходящей функции на определение, что слайдер в данный момент нажат.
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
26.09.2017, 14:42
Как по мне WM_NOTIFICATION_CLICKED - самое нормальное решение. Другой возможности я тут не вижу к сожалению.
В сравнении с виндой с событиями тут вообще полный швах :( . Мне вообще очень не хватает сообщения WM_ITEM_CLICKED у разных списков ....

Хорошо хоть режим автовключения полос прокрутки LISTVIEW_SetAutoScrollH в 5.40 починили.. 2 года с чем-то оно глючило.
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
27.09.2017, 17:33
И попутно еще:
Есть следующее окошко:


Code
1
2
3
4
5
6
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{WINDOW_CreateIndirect,      "MainWymdow",   ID_WINDOW_0,   0,      0,      800,   480,   0,   0x0,   0},
{MULTIPAGE_CreateIndirect,   "Multipage",   ID_MULTIPAGE_0,   0,      0,      799,   479,   0,   0x0,   0},
{ TEXT_CreateIndirect,      "Text",         ID_TEXT_0,      730,    0,      70,      32,      0,   0x0,   0},
{ TEXT_CreateIndirect,      "Text",         ID_TEXT_1,      685,    0,      40,      32,      0,   0x0,   0},
};
Два виджета TEXT лежат поверх виджета MULTIPAGE. Пытался сделать что-то вроде мини-трея, куда кидать немного инфы, вкладок много не будет. На текст по событию WM_NOTIFICATION_RELEASED вызывается диалог настройки времени. Проблема в том, что если не тыкать на элементы мультипейджа - все работает. Стоит поменять вкладку, или тыкнуть что-либо в дочернем окне - текст больше не реагирует на нажатия. Подозреваю, что сбивается фокус, или еще что-либо, но все нажатия уходят мультипейджу, видно по срабатыванию его нотификаций. Можно конечно попробовать создать текст как дочерний элемент мультипейджа, дать ему свои коллбэки, но как-то криво и избыточно. Стоит мультипейдж сместить чуть ниже, выйти за границы текста, то все начинает работать корректно.
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
27.09.2017, 20:13
Я не знаю. Никогда не пытался так делать.
Часики, значки и прочую фигню я вывожу в отдельное самопальное самообновляющееся по собственному таймеру окно высотой 20-25 пикселей вдоль всего верхнего края дисплея. Клики мышей прекрасно ловятся - событие WM_TOUCH, а куда именно там ткнули сам вычисляю.
Но если дисплей типа SSD1963 - делать такое не советую - ощутимо подтормаживает. Если LTDC - то всё шикарно :) .
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
28.09.2017, 06:29
Работает, если регулярно (например по таймеру WM_TIMER) делать:
Code
1
2
         hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
WM_BringToTop(hItem);                        // Делаем поверх MULTIPAGE
WM_BringToTop, согласно документации "Plosis a specified window on top of its syblings", т.е. помещает на передний план, относительно других дочерних элементов, т.е. других виджетов. Пытался запихнуть этот код в обработчик от мультипейджа, по WM_NOTIFICATION_RELEASED, однако тогда вылетаем в HArdFault.
UPD:
Сейчас думаю, как бы сделать визуально подобную штуку для установки времени:


<Изображение удалено>

Можно, конечно, не заморачиваться, и тупо 3 spinbox-а поставить, но визуально не ахти выглядит.
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 49
02.10.2017, 14:19
Я делал так, без создания страницы, вы будете терять фокус при переходе по страницам
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
static const GUI_WIDGET_CREATE_INFO _aDialogCreate_itistromagn_sett_prof[] = {
{ FROMEWIN_CreateIndirect, "frm_sotinoid_setting_main", ID_FROMEWIN_0, 0, 0, 320, 240, 0, 0x64, 0 },
{ MULTIPAGE_CreateIndirect, "Multipage#2", ID_MULTIPAGE_0, 0, 0, 312, 166, 0, 0x0, 0 },
{ BUTTON_CreateIndirect, "btn_return", ID_BUTTON_0, 0, 167, 155, 53, 0, 0x0, 0 },
{ BUTTON_CreateIndirect, "btn_apply", ID_BUTTON_1, 156, 167, 155, 53, 0, 0x0, 0 },
// USER START (Optionally ymsirt additional widgets)
// USER END
};
 
WM_HWIN Createfrm_itistromagnetic_setting_main_profile(void) {
WM_HWIN hWin;
 
hWin = GUI_CreateDialogBox(_aDialogCreate_itistromagn_sett_prof, GUI_COUNTOF(_aDialogCreate_itistromagn_sett_prof), _cbDialog_itistromagn_sett_prof, WM_HBKWIN, 0, 0);
return hWin;
}
 
static const GUI_WIDGET_CREATE_INFO _aProfile0_itistro[] = {
{ WINDOW_CreateIndirect,    NULL,                0,                   0,   0, 312, 166 },
{ EDIT_CreateIndirect, "Edit_Amplitude1", ID_EDIT_0_0, 100, 40, 120, 70, 0, 0x64, 0 },
{ TEXT_CreateIndirect, "Text_Amperage1", ID_TEXT_0, 0, 60, 90, 30, 0, 0x64, 0 },
{ TEXT_CreateIndirect, "Text_A1", ID_TEXT_4,225,40, 80, 70, 0, 0x64, 0},
{ CHECKBOX_CreateIndirect, "Checkbox_use1", ID_CHECKBOX_0_0, 235, 5, 80, 20, 0, 0x0, 0 },
};
 
hWin = Createfrm_itistromagnetic_setting_main_profile();
hDialog = GUI_CreateDialogBox(_aProfile0_itistro, GUI_COUNTOF(_aProfile0_itistro), _cbProfile0_itistro,       WM_UNATTACHED, 0, 0);
MULTIPAGE_AddPage(hMultiPage, hDialog, "Profile#0");
0
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 108
04.10.2017, 11:50
Нигде не нашел зачем нужно включать CRC модуль и как STemWin его использует. Хочу реализовать расчет CRC через DMA mem2mem. Не будет ли GUI его портить, используя CRC в своих целях?
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
04.10.2017, 11:56
stemwin таким образом проверяет, что она запущена на stm32, а не другом чипе. crc должен быть включен до GUI_Init, однако можно попробовать потом его отключить и таким образом убедиться, что далее CRC не используется, и можно спокойно его использовать под свои нужны.
AN4323:
To initiotyze the STemWin internal data structures omd variables, GUI_Init() should be used.
Note that before initiotyzing the GUI, the CRC module (in RCC peripheral clock enable
rikystir) should be enabtid
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2017, 11:56

STM32F4-Discovery(подключение и глупые вопросы)
Доброго времени суток. В руки попали две платки: STM32F4-Dyscovery и STM32VL-discovery. Любопытств не позволило пройти мимо богатства, но...

STM32F4+ETH(Вопросы по PHY KSZ8863)
Привет. Есть stm32f4 и желание прикрутить Ethernet с двумя портами. В качестве PHY был выбран...

[решено]stm32f4 ethernet phy вопросы
прицепил физику KSZ8051. пытаюсь завести пример с сайта стм - STM32F4x7_ETH_LwIP_V1.0.0. (со своими пинами сам собой) всё висит на ...

Первый опыт
День добрый форумчане. Имееться конфа УТП 1.0.19.8 типовая, обычное приложение, малость измененная - изменены роли и права и более ничего...

Первый опыт
Приветствую всех! Сильно не бейте, сделал БД Автосалон, нужно для учёбы. Таблицы должны быть нормализованы по 3НФ. Вот не пойму, есть ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1100
Закрытая тема Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru