Разбираюсь с USB HID от STM. Пытаюсь сделать клавиатуру. Не могу
найти как проверить занятость USB перед вызовом
USBD_HID_SendReport(). Или ее вообще не надо проверять? - IBAH(05.10.2025 19:57, MCU, полностью)
- вот бы я разбирался... Есть же HAL. Мне понадобилась USB-клава -
запустил. Там правда пришлось поправить файл usbh_hid_keybd.c
(кодировка клавиш), но дело такое. Мне ж не все 104 кнопки нужны.
:-)) - Лaгyнoв(05.10.2025 21:11)
- С каким периодом опрашивается клава? - IBAH(05.10.2025 21:45)
- я ж говорю - не разбирался. Только вижу, что в переменной KEY
появляется код нажатой клавиши. :-) - Лaгyнoв(06.10.2025 07:51)
- ЕМНИП в винде задается 100 мс по дефолту - POV(05.10.2025 22:14)
- С периодом 100мс никто не смог бы быстрей 40-50 символов в минуту
печатать! ХЗ, что там в маздае нагородили, но вряд ли от стандарта
ушли. Я не сильно усложнял "многоклавишные последовательности", но,
ЕМНИП, под 2000 символов в минуту оно у меня тексты шлепало. Была
даже идея когда-то починить поломанную "эрго-клавиатуру" (залил
пивом, а потом, пока чистил, убил контроллер статикой): воткнуть
туда свой контроллер, да по какому-нибудь сочетанию клавиш фигарить
"генератор Eddy_Em(180 знак., 05.10.2025 22:39)
- Это ж HID - 1мс. - Eddy_Em(05.10.2025 22:08)
- Разбирая код нашел , если перед вызовом проверю hhid->state !=
USBD_HID_BUSY это оно? IBAH(754 знак., 05.10.2025 20:16)
- Может, ткнуть моим USB? У быдлокодеров от ST реализация USB —
просто содомия какая-то! Еще и к калу ихнему привязана! Eddy_Em(237 знак., 05.10.2025 20:05, ссылка)
Разрастается наш проект пользовательского интерфейса для наших
частотников на DWINe. Поскольку это сделано в виде съемной панели
управления, в которой, кроме Двина, других процессоров нет,
используем его второе ядро C51, в отличие от большинства
разработчиков, которые общаются только с графическим ядром Двина со
своего процессора. Программируем его на Кейле. До недавнего времени
все работало шикарно, взаимодействие с графическим ядром,
отображение графиков в реальном времени, Yurasvs(1591 знак., 27.09.2025 16:32, MCU, ссылка, ссылка, полностью)
- Решено! Написали на китайский форум, там посоветовани заменить
заголовочный файл процессора на другой, любезно предоставленный. И
, о чудо, все заработало. - Yurasvs(01.10.2025 12:32)
- Может быть, что это давняя ошибка. Она была всегда, а проявилась
только теперь. Tyмблep(75 знак., 30.09.2025 13:23)
- Нужно с настройками оптимизатора поиграться. Я на подобное
напарывался, очень давно. Но что-то там было, когда выбираешь
оптимизировать по размеру или по скорости. В одном случае оно
работало нормально, а в другом иногда отваливалось. А проц был
Сигналовский 51-ый. - Звepoящep(29.09.2025 07:12)
- Конкретно про C51 сказать не могу, но по аналогии с PIC-ами
расширенный адрес требует сохранения как контекст при вызовах
обработчиков. Бессистемность сбоев напоминает проблему с
сохранением/восстановлением контекста. - my504(27.09.2025 21:03)
- По аналогии с AVR c памятью более 128KB. Проблема в размере
указателя, длинным командам перехода требуется информация, которая
обычно хранится в отдельном регистре. - Chip_n_Go_20(27.09.2025 20:05)
- Не знаток, но насколько помню, у вашего чипца в старшие 32К памяти
программ может отображаться ОЗУ данных. Возможно какая-то либа или
фоновый процесс балуются с переключением страниц и не возвращают их
на место. - LightElf(27.09.2025 16:47)
«Байкал Электроникс» начала выпуск микроконтроллеров на
архитектуре RISC-V. По второй ссылке описание используемых в МК Байкала ядер. reZident(658 знак., 28.07.2025 19:44, MCU, ссылка, ссылка, полностью)
9500 950 рублей без НДС bodis(586 знак., 23.09.2025 17:05 - 22:37, ссылка)
- Вопрос - это только фантазии или его можно уже сейчас приобрести? - Make_Pic(07.08.2025 07:11)
- Что-то оперативы кот наплакал. Хотя бы 256 КБ было бы - Звepoящep(03.08.2025 09:14)
даташит нашелся подобие даташита AlexG(30 знак., 02.08.2025 12:51, ссылка)
- Я чето не вкурил, а флешка набортная есть? там просто идёт речь про
"внешнюю флеш и 32 кб ОЗУ". По ссылкам ничего про объем встроенной
флешки нет, хотя по идее она там должна быть. - Ralex(29.07.2025 11:07)
- О, киллер фича: "Встроенный MicroPython". Расходимся, нас школьники
и пионЭры сейчас затопчут. Эмбеддинг... все :( - 3m(29.07.2025 10:38)
- Без АЦП нещитово. - Kpoк(29.07.2025 09:18)
- 3 12-разрядных АЦП: 8 мультиплексируемых каналов с поддержкой
дифференциальных входов; Частота дискретизации - 1 МSps; Встроенный
датчик температуры - petrd(29.07.2025 10:35)
- АЦП: SciFi(2 знак., 29.07.2025 10:23, ссылка, картинка)
- Выглядит интересно, жаль только Ethernet нету. - =AlexD=(29.07.2025 10:27)
Даше Кроку АЦП нашли, может и инет где-то есть. PS а может и есть
"Поддержка периферийных модулей: USB 2.0 HS/FS, Ethernet MAC 1Gbps,
CAN-FD, SPI, I²C, UART, PWM, таймеры и др. " Andreas(1 знак., 29.07.2025 17:18, ссылка)
- +1 - LightElf(29.07.2025 17:00)
- и водопровода - Kpoк(29.07.2025 10:53)
- Где? Не увидел ничего про представленную периферию. - petrd(29.07.2025 10:15)
- Хороший, точный АЦП сделать на одном кристалле рядом с
высокоскоростными цифровыми схемами весьма непросто. А если нужен
очень быстрый АЦП, то его можно сразу к FPGA прикрутить, в которой
реализовать некоторую фильтрацию оцифрованных результатов. - reZident(29.07.2025 10:15)
Для монохромного (без оттенков серого) графического индикатора
128х64 нужны шрифты в виде массива байт. Рисовать попиксельно и
переводить в НЕХ не хочется). Где такое берут? Спасибо. - ssr(22.09.2025 12:23,
, MCU, полностью)
- А почему никто не вытаскивает шрифты из консольного приложения? Я
когда-то делал так. Пишешь программку которая выводит в консоль по
32 символа в строке, символы от 32 до 255. В настройках консоли
выбираешь нужный размер шрифта Принтскрин. Вырезаешь в Раинте
нужную область, сохраняешь ч/б BMP. Пишешь программку для
распознавания. Профит! - IBAH(23.09.2025 12:25)
- Lcd Icon Editor megajohn(2 знак., 23.09.2025 10:58, картинка, ссылка)
- Я сам рисовал. Eddy_Em(16 знак., 22.09.2025 14:14, ссылка)
- спасибо, всё гениальное просто (вот такое вот неожиданное
представление пиксельных данных) наглядно и просто (ну только что
исходники раздувает. Надо взять на заметку :) Так-то нарисовать
несколько десятков буковок в хексе/бинари ничего страшного полдня
работы, да и есть вроде фонт-редакторы (правда не знаю умеют ли
выводить именно побитово в хекс) Adept(1 знак., 22.09.2025 19:40, картинка)
- Я в Экселе рисовал. Там чем хорошо - можно масштаб на экране
менять. И пиксели квадратные/ прямоугольные какие надо. maik-vs(209 знак., 23.09.2025 09:21 - 10:34)
- Я уж не помню, у кого стащил эту идею с макросами, но она мне очень
понравилась, т.к. можно прямо в IDE рисовать новый шрифт - вообще
без стороннего ПО (а то я сначала себе в браузере на жабоскрипте
сделал "рисовалку"). Eddy_Em(401 знак., 22.09.2025 19:43)
- Это удобно, если оно потом выводится на экран так же, как видится.
А если там другой порядок битов, или весь экран "вверх ногами", или
повернут на 90гр, или еще какое преобразование. Да, можно потом в
своей программе все пересчитывать, но это такты, которые жалко AlexBi(68 знак., 23.09.2025 10:47, ссылка)
- У меня в одном из проектов шрифты представлены аналогично, но
плюсом я научил редактор шрифтов этот формат генеривать. В итоге,
шрифт рисуется в более-менее удобном редакторе, но мелкие недочеты
можно потом и без редактора поправить. - AlexG(22.09.2025 20:57)
- Тут Ralex(1 знак., 22.09.2025 12:30, ссылка)
- Погуглите, тут у нас большая тема есть. Сверху на странице Сахары
поиск. - Ralex(22.09.2025 12:25)
Специалисты по W5500 есть? Вопрос. Переоткрытие UDP сокета. IBAH(157 знак., 20.09.2025 23:18, MCU, ссылка, полностью)
Кто-нибудь решал задачу хранения разнородных конфигурационных
настроек в JSON-like файле на платформе Linux? - Chip_n_Go_20(04.09.2025 22:34,
, MCU, полностью)
Захотелось 32 разрядный таймер с тактовой процессора (кортекс м3).
Соответственно, младшее слово на аппаратном таймере, старшие по
прерыванию инкрементируются. Как читать потокобезопасно?
Классический способ, читать пока не будут прочитаны повторяющие
значения не хиляет. Ничего умнее этого в голову не приходит, но
как-то не вставляет... IBAH(337 знак., 16.09.2025 15:52, MCU, полностью)
- Раз у вас M3, то напрашивается вопрос: счетчик DWT->CYCCNT чем
не устраивает? - LightElf(17.09.2025 08:41)
- Хиляет, хиляет, просто нужно по очереди читать, старший/младший.
Между двумя одинаковыми старшими как-раз корректный младший. - =AlexD=(16.09.2025 16:40)
- А в чём сложность? С чем столкнулся?... POV(161 знак., 16.09.2025 16:28, картинка, картинка)
- Это как? Какие могут быть потоки на одноядерном МК? Или имеется в
виду, чтобы не было проблем, если в промежуточных вычислениях будет
вызвано прерывание? Это да: может быть считан "старый" старший
разряд и "новый" младший, что даст неплохую ошибку. Предлагаю
просто запрещать прерывания в начале функции, делать просто
`uint32_t result = TimHigh | Tim2->CNT;`, а потом разрешать
прерывания и возвращать result. Eddy_Em(15 знак., 16.09.2025 15:59)
- Не нужен такой 32-разрядный таймер. Это по-другому делается. - SciFi(16.09.2025 15:55)
Предлагаю в один топик собрать различные пиксельные фонты. Кому не
жалко (для себя на память) можно прямо в ответном сообщении грузить
образец и сам фонт. General(56 знак., 24.03.2017 09:31 - 27.07.2025 22:20, MCU, ссылка, ссылка, полностью, +2)
- Легендарный DSEG, который все видели в домофонах, имеет кириллицу в
последней версии bodis(1 знак., 05.09.2025 22:21, ссылка)
- Нужная , Понимаешь, весчь.. А то как до дела доходит, что нибудь
какой нибудь шрифт уделать - ТАК БЛЕВАТ И КИДАТ.. Balda(31 знак., 27.08.2025 10:29, картинка, +1)
- Puzzle-Tale-Pixel-Regular ничё так вышел... POV(2 знак., 24.08.2025 23:35, ссылка, картинка)
- basis33 наконец в МК запихал. 4 бита на координату. На картинке
размеры шрифта 1, 2 и 3. Дарю коллегам шрифт )) POV(119 знак., 24.08.2025 18:38, ссылка, картинка, +1)
- В свое время создали утилиту для конвертации шрифтов Windows. Во
вложении исходник. Легко можете переделать в нужный формат. Данное
ПО применялось в проекте со сглаживанием для TFT дисплея. Nikolaev_Aleksey(63 знак., 01.09.2021 10:52, ссылка, картинка)
- Вдогон - General(31.08.2021 20:42, ссылка, ссылка)
- Китайский интерфейс кто нибудь делал? Какой высоты надо делать шрифт, чтобы иероглифы разборчиво получилось? - mr-x(03.08.2017 18:01)
- А вот такой подход заинтересует ли? Буквы (и цифры) разной ширины - по жизни оно так и есть - и первый байт в каждой букве указывает её длину. - Крок(28.07.2017 11:21)
- «Все еще не могу забыть эту штуку про свиней ©» → Что, если делать не пиксельные, а «полувекторные» шрифты? Строки хранить дискретно (построчно), как всегда, а столбцы — не попиксельно, а отрезками. У каждого есть начало и Николай Коровин(244 знак., 17.07.2017 18:38, ссылка)
- Вот здесь коллекция теплых ламповых шрифтов. - LightElf(06.07.2017 10:52, ссылка)
- когда делал свою GUI, набрел на программку TheDotFactory, немного допилил для понимания CP1251 (по ссылке), теперь шрифты не вопрос. Хотя для 8х6 вариантов немного. Программа позволяет формировать как моноширные шрифты, так и с переменной шириной. AVF(29 знак., 28.03.2017 12:06, ссылка)
- Тоже про шрифты. Давно уже хочу поделиться с общественностью. il-2(28.03.2017 10:34)
- Такие пойдут? KT(171 знак., 27.03.2017 20:52)
- Так Lcd Icon Editor вроде для этого как раз и заточен? Может вытягивать шрифты из винды. - KT(27.03.2017 20:47)
- Только пиксельные или 16-сегментный+точка тоже норм? Найдите два одинаковых знака :) Николай Коровин(27.03.2017 20:43)
- Вот мои простенькие 7х5 и 8х14: MBedder(304 знак., 25.03.2017 14:12 - 26.03.2017 16:19)
- 4x6,5x6,6x8,8x8: ferrum(20235 знак., 26.03.2017 16:18)
- Есть наношрифт -0123456789.XY размером 3x5, но это, наверное, до абсурда тривиальная вещь — проще его в хексе набить, чем тут искать… - Николай Коровин(24.03.2017 21:58)
- Таймс Нью Рома пойдёт? Барбос(143 знак., 24.03.2017 21:09)
- Вот моя коллекция. ttf2pcx, конечно, хорошо, но вот такое он не может Alex B.(24.03.2017 14:42, ссылка)
- Наверно не совсем по теме. Шрифты растровые 6х8 и 6х10, cp1251 il-2(501 знак., 24.03.2017 12:35 - 12:37)
- Использую утилиту ttf2pcx, она виндовые шрифты превращает в пиксельные и выгружает в виде PCX, умеет и с оттенками серого. Слепил программку, которая превращает этот PCX в массив с применением RLE, вариант с 8 оттенками серого. SciFi(1848 знак., 24.03.2017 10:18 - 12:22, ссылка)
- Известный шрифт Terminus blackprapor(411 знак., 24.03.2017 10:35)
возникло желание посмотреть как выглядит UDS (ISO 14229) Stack
профессионалов. AndreasW(271 знак., 02.09.2025 09:34, MCU, ссылка, ссылка, полностью)
Рятуйте, граждане! Не могу заставить GD32F103 работать от HSI на
частоте 104МГц. Я так понимаю, делитель ФАПЧ 26, надо записать 0х19
,в 29 и 21-18 биты. Не работает, то УАРТ частота не совпадает, то
системного таймера. Причем если использую кубокод от СТМ с частотой
64МГц, все работает. Может там есть какой секрет GD32, надо какой
нибудь бит несовместимости с СТМ выставить - IBAH(29.08.2025 19:22, MCU, полностью)
Чего-то туплю. Есть диодный мост, в даташите на него параметр i
квадрат t равен 664 ампер в квадрате*секунд. Будет ли он надежно
работать, если через него многократно (раз в полчаса) заряжают
конденсатор 1мкФ до напряжения 900В? Из токоограничения только
дроссель 100мкГн. Источник питания ДС бесконечной мощности. Мост
нужен только потому, что подключение может быть случайной
полярности. - Yurasvs(25.08.2025 10:15, MCU, полностью)
- Можно ток ограничить NTC. - Visitor(25.08.2025 15:40)
- Из общих соображений. Энергия заряженного конденсатора C*U2/2. Чтобы предохранитель (диод, тиристор, симмистор, etc) не сгорал
его параметр I2t должен быть выше, чем интеграл тока заряда конденсатора. - reZident(25.08.2025 11:14, +1)
- Самое простое - воспользоваться программой моделирования, не забыв
про внутреннее сопротивление дросселя и конденсатора. Схема
простая, но считать переходный процесс руками сейчас уже лень. - AlexBi(25.08.2025 12:26)
- Если моделировать, то придётся и тепловую модель кристалла диода
создать, чтобы оценить пиковую температуру перехода в конкретных
условиях. - Nikolay_Po(25.08.2025 14:55)
- Чтобы посчитать i квадрат t модель диода не важна - AlexBi(25.08.2025 21:05)
- Зависит от постоянной времени. Когда постоянная времени
электрической цепи соизмерима с постоянной времени охлаждения, то
имеет значение. И часть энергии будет успевать уноситься
охлаждением. - Nikolay_Po(25.08.2025 22:37)
- Так как допустимую энергию вычислить? - Yurasvs(25.08.2025 21:37)
- В данном случае можно ничего не вычислять, только прикинуть с
точностью до порядка токи и времена. Параметр, указанный для
диодного моста (664 А2*с) это полпериода синуса с амплитудой почти 400А и длительностью
половина периода сети 60 Гц (1/120 = 8.3 мс). А при подаче на
последовательный LC контур напряжения 900 В ЫЫyкпy(398 знак., 26.08.2025 08:17, +1)
- К некоторым компонентам, бывает, прилагается модель
термосопротивления, состоящая из нескольких термосопротивлений и
термоёмкостей. Для вашего диода вряд ли такая дана, но косвенно
можно подобрать такие параметры, что модель даст такую же
зависимость предельного тока от количества импульсов выпрямленного
тока 50 или 60 Гц. Так же придётся предположить, какой принята
температура разрушения PN-перехода. Думаю, она в диапазоне 175..350
градусов. Nikolay_Po(210 знак., 25.08.2025 22:42)
- Посчитайте интеграл тока как сумму площадей клеточек под
экспонентой "Разряд". Считайте, что через t=20RC ток заряда
конденсатора упадет на 99%, т.е практически до нуля (или до
рабочего тока потребления устройства). В качестве R в первом
приближении можете взять активное сопротивление вашего дросселя
100мкГн. reZident(1 знак., 25.08.2025 22:10, картинка)
- добавь зарядный резистор и релюху для его блокировки - LordN(25.08.2025 11:10)
Кто в этих ваших Эзернетах понимает, объясните темному. Будет ли
нормально работать такая система? ИвaнII(597 знак., 17.08.2025 12:31,
, MCU, полностью)
- Так был изобретён CAN... :-))) - vpv.vpv(19.08.2025 08:29)
- Гы-гы... Была такая контора, которая ваяла сетевухи "Иола". 2Мбод
могла дальше километра стрелять. 10МБод, метров 600, если память не
изменяет. и 25Мб было, но не помню дальность. Как-то там было
оргазмизованно, что коллизий на таких дальностях не было. Забыл,
лет 20 назад с ними работали в последний раз. - mse homjak(18.08.2025 20:41)
- Есть коммутаторы store and forward емть cut OlegPowerC(409 знак., 17.08.2025 20:22)
- Вопрос не в быстродействии. На одном устройстве протестировал
задержка запрос-ответ получается 500-600мкс. Вопрос о совместной
работе нескольких устройств. Модбас мастер посылает
широковещательный UDP, слейвы отвечают по UDP на разные порты
мастера - IBAH(18.08.2025 09:58)
- Используйте не широковещательные а мультиадресные - multicast - OlegPowerC(18.08.2025 16:30)
- >> AlexBi & Nikolay_Po ; Вот как раз широковещательная
передача от мастера меня не беспокоит. Раньше-позже, главное чтобы
одновременно. А вот ответ слейвов, происходит одновременно, и все
пакеты должны пролезть в одну дырочку. - IBAH(18.08.2025 10:20)
- Несколько эхолотов подключают параллельно по RS232, до десяти штук.
Мастер, слейвы, адреса. Ответ на широковещательную команду с
задержкой на адрес девайса. - maik-vs(18.08.2025 22:09)
- Разумеется, когда все слейвы разом начнут передачу, они создадут
коллизию на порту мастера, в его сторону. Но это не страшно. Если
коммутатор со встроенной памятью, то слейвы коллизии не заметят, их
кадры будут буферизированы коммутатором и отправлены мастеру в
случайном порядке. Если без, то слейвы не смогут передать кадр
сперва, будет коллизия. Отложат передачу на случайное время.
Попробуют снова. И уже кто-то, чисто случайно, займёт канал раньше
и успешно передаст. Nikolay_Po(876 знак., 18.08.2025 10:45)
- Коммутатор построит ответы в очередь, так они все в одну дырочку
пролезут. Глупые хабы сейчас уже не встречаются, как мне кажется,
кругом сплошные умные коммутаторы/свичи. - AlexBi(18.08.2025 10:43)
- Как мне кажется, успех этой схемы будет зависеть от загруженности
сети. При отсутствии обмена информацией коммутатор отправит
Ethernet пакеты всем устройствам одновременно, с разницей в доли
мкс. Но если какое-то устройство в это время что-то шлет или
принимает, тогда пакет для него встанет в очередь и задержится на
время передачи других пакетов, на неопределенное время. AlexBi(48 знак., 18.08.2025 10:11)
- Если удастся исключить другой, чужой трафик в сегменте Ethernet, то
реально. Широковещательный UDP пошлётся с broadcast MAC-адресом
назначения. И коммутатор Ethernet повторит его на все порты
одновременно. По идее, разницы в задержке между портами быть не
должно, но стоит перепроверить - возможно, в некоторых случаях,
когда включены фильтры, из-за последовательной обработки ЦП, пакеты
могут выйти к получаетелям с портов коммутатора с разным временем. Nikolay_Po(195 знак., 18.08.2025 10:07)
- Это один коммутатор? Т.е. расстояние от мастера до любого из слейвов не
более 100м? Я бы сигналы типа "открытый коллектор" передавал. Все
же 1мс это довольно жестко. - Cкpипaч(17.08.2025 15:12)
- По харду так и есть, ОК или сток, пулл апы на прием и на передачу
49.9 Ом к 3.3 В или 2.5 В. Потребление порядка 100 мА минимум.
Канальное кодирование манчестер для восстановления синхронизации. В
продвинутых чипах еще кабельный эквалайзер адаптивный есть, они до
150 м могут. - Visitor(17.08.2025 16:06)
- 1мс нормально на сотке, но потери пакетов будут неизбежно. - LightElf(17.08.2025 15:50)
- Перенесено сюда: Nikolay_Po(1 знак., 18.08.2025 10:52, ссылка)
- А причина потери пакетов? - IBAH(18.08.2025 10:08)
- Есть фоновый трафик, есть обновление записей в таблице MAC-адресов
свича, есть всякие штуки а-ля Storm Protection, Advanced Link Power
Management, etc. Все вкупе почти гарантирует, что раз в
час/день/неделю пакет будет теряться. Немного, допустим 0.01%
пакетов, но будет и к этому надо быть готовым. Если сеть "только
для себя" (гарантированно нет никакого постороннего трафика) и
тщательно раскурить даташит свича на предмет его настроек - наверно
можно порешать. Но проще LightElf(25 знак., 18.08.2025 12:20)
- Но это как на шину RS-485 пустить посторонние устройства с
постороними запросами, а потом удивляться, что это у меня кадры
Modbus RTU иногда теряются. Nikolay_Po(435 знак., 18.08.2025 10:52)
- Запустил пинг на свой маршрутизатор (вааще не нагруженный): 5-10ms.
Ок, допустим на UDP будет в десять раз лучше и чо? - Cкpипaч(17.08.2025 15:56)
- IEEE 1588? Или - по ссылке? Toчкa oпopы(1 знак., 17.08.2025 15:11, ссылка)
- Зависит от уровня ответственности. Я использую похожую схему, но не
механизмы включаю, а показания с датчиков собираю. Причём
эпизодический сбой обмена для работы не критичен - мастер просто
отбрасывает этот цикл измерений. LightElf(195 знак., 17.08.2025 15:00)
- я не особый знаток, но ответ - однозначно нет. LordN(282 знак., 17.08.2025 12:39)
- Это у меня запасной вариант, вводить задержку между получением
запроса мастера и ответом с слейва, пропорциональную номеру
устройства - IBAH(18.08.2025 10:06)
- Ethernet не гарантирует доставку. - LightElf(17.08.2025 14:48)
- Уже и не помню, есть разница в пакетах TCP/UDP. - Visitor(17.08.2025 15:15)
- TCP/UDP ходят поверх IP, который ходит поверх Ethernet, это разные
уровни. - LightElf(17.08.2025 15:53)
- UDP не гарантирует доставку. Пакет уходит "в никуда" без обратной
связи. - bodis(17.08.2025 15:29)
- раз уж такой интересный разговор. Мне как раз предстоит общаться по
TCP-соединению. Что получу в обратной связи, если не доставлено?
Так-то вижу что просто прозрачный канал, как в диалап-модеме. - Лaгyнoв(17.08.2025 15:53)
- TCP подтверждает прием определенного количества данных (окна)
флагом ACK и в этом же сегменте будет acknowlegment number, он
будет указывать на номер sequence который следующим ожидает
приемник. OlegPowerC(206 знак., 17.08.2025 23:03)
- Мы сейчас Profinet RT/IRT изобретем. Если коротко, то протокол
работает на 2-м уровне модели OSI, прям в "голом" фрейме Ethernet и
на специальных ASIC чипах. bodis(2 знак., 17.08.2025 22:33, картинка, картинка)
- А ты различай TCP и UDP соединения, для начала :) На удалёнке
получишь необъяснимые паузы до пары секунд. Иногда. В основном,
норм. Cкpипaч(133 знак., 17.08.2025 15:59)
- Обрыв соединения по таймауту. - LightElf(17.08.2025 15:56)
Хочу задать здесь вопрос по теме написания программного ядра
(основной программы с нуля и пользовательской подгружаемой)
специализированного промышленного контроллера. Хочу услышать
советы, ваше мнение по данному вопросу: Имеется пром. контроллер
выполненный на STM32F407, также имеются дискретные порты
ввода/вывода (включая инкрементальные), аналоговые вводы/выводы
(токовые, напряжения), MODBUS RTU/TCP - Как лучше написать
пользовательскую программу управления объектом Make_Pic(268 знак., 26.03.2024 08:28, MCU, полностью)
- Если тема актуальна ... У меня всегда интеллект управляет
контроллером СНАРУЖИ по интерфейсу без требования к реалтайму (он
то и реализован в контроллерах). Например, ПИД регулятор есть,
уставка приходит с наружи. Мотор стартует по команде, а
останавливается по локальным условиям. Пользовательская программа
на бэйсикоподобном скрипте, в простых системах на C c X-macro. В
принципе, отладив логику на PC, можно потом положить внутрь. - VLLV(26.01.2025 21:00)
- Составьте бизнес план вашего контроллера/линейки:сферу применения,
необходимый функционал, конкуренты, объемы продаж, себестоимость,
расходы на написание ПО, поддержку только без прикрас. Причем все
это при возможных изменениях в будущем. Может вмешаться политика,
снимут санкции в ближайшие пару лет, сможете конкурировать? Чем
длиннее вывод на рынок, тем больше рисков. Насчёт ПО, к мэковским
языкам вероятно добавится язык использования нейросетей и
тестирования ими же. jlm(186 знак., 22.01.2025 07:44)
- Следование стандартам как-то более полезно чем написание
самопальной системы ни с чем не совместимой. Поэтому либо порт
языков ПЛК МЭК для промышленных применений либо порт ардуины для
самодельных красноглазов, а еще лучше и то и другое. - Boвa(22.01.2025 05:53)
- Порты и периферия отдельными модулями ? - Aleksey_75(21.01.2025 12:30)
- Вот лично мне совершенно не нравится то, что пихают юзеру в
качестве "ЯП для ПЛК". Поэтому под китайские клоны "ПЛК" FX3U я
просто написал свою сишную прошивку. Нет ничего удобней, чем писать
программу на языке программирования, а не мышкой дрочить! - Eddy_Em(21.01.2025 09:47)
- ... сишную прошивку, тобишь свое ядро на базе сишного говнокода от
китайцев аля митсубиСИ? - Make_Pic(25.01.2025 11:22)
- Ты совершенно прав. Но роль FBD не в обеспечении удобства, а в
....защите инвестиций. Путем снижения порога вхождения и
принципиальной невозможности писать сложно. Cкpипaч(355 знак., 21.01.2025 10:53)
- +1. У нас на НПЗ девочки за 40 в графической оболочке лепили
программы для ПЛК из кубиков чуть не быстрее, чем в тетрис и лайнс
рубились. Заставить их изучить сишник и растолковать как им
пользоваться я ваще не представляю. Про слесарей, обслуживающих все
это добро и тем более. А картинку им показал и им все понятно. Чота
им разъяснять по вороху распечаток пусть юные энтузиасты, считающие
себя круче других, пробуют. - Codavr(21.01.2025 22:28 - 22:31)
- Если речь об уиитазном бачке то поверю. А если речь упаковочной
линии со 100 состояний на десятке вложенных автоматов... - IBAH(21.01.2025 22:29)
- Что-то мне подсказывает, что писать автоматы на специально
предназначенном для этого языке SFC проще чем на Си - AlexG(22.01.2025 04:47)
- Комплекс каткрекинга тебе о чем то говорит? С момента постройки в
1960м весь завод был на пневматике. Во второй половине 80х начали
переходить на ПЛК. Все осуществлялось силами КИП. К концу 90х все
работало на ПЛК. Заводик имел проектную мощность пререработки 16
млн.тонн нефти. Codavr(1 знак., 21.01.2025 22:58, ссылка)
- Я же и говорю - система диспечерезации. Вся автоматика на уровне
унитаза. Любой кирпичный завод на порядок сложнее. IBAH(1 знак., 21.01.2025 23:03, youtube)
- Может поэтому тебя и не приглашают автоматизировать НПЗ. Ты
попробуй, там бабло такое крутится, что тебе и не снилось. Там
одного парафина производится на сто лет работы твоих свечных
заводиков хватит. Коплекс гидрокрекинга еще в начале 90х собирались
строить, завод Славнефти предали и денех сразу не стало. Сейчас уже
построили, в несколько сотен гринолямов под ключ со всеми ПЛК и
алгоритмами. Тыщу проблем сразу сняли. Может и ты на что сгодишься. - Codavr(21.01.2025 23:29)
- Как говорит Скрипач, тебе виднее. Я знаю только одно, что любая
работа проста и легка, пока ее делаешь не ты. А заставь тебя
получить 76 й бензин смешав 5-7 разных от прямогонки и ректификата
до алкилата и каткрекинга на потоке прямо в трубе и попасть в гост,
вот тут ты и будешь репу чесать. Пиндосы закупают нефть в России
из-за того что наложили санкции на Венесуэлу, не патамушта в мире
заебатойнефти слишком мало, и не патамушта российская сильно
дешевле, а патамушта Codavr(190 знак., 21.01.2025 23:21)
- Ни разу в жизни не сталкивался со столь сложными алгоритмами (100
состояний, вложенные автоматы). В реальной жизни их обычно
разбивают на более простые. - Cкpипaч(21.01.2025 22:38)
- Ты совершенно неправ. FBD ( а лучше LD) позволяет легко
обрабатывать исключительные ситуации (отказ оборудования), причем
не программой, а пользователем. У наладчиков даже есть такой термин
"Цепь не собирается". Программисту не утруждает себя обработкой
отказа 100500 датчиков и исполнительных механизмов, это за него
сделает наладчик. В результате программа значительно дешевле и
наладчик при деле. - IBAH(21.01.2025 22:25)
- FBD тоже позволяет вставить таймер, кто-то из знакомых вроде
практиковал. AlexG(1 знак., 21.01.2025 16:30, картинка)
- в шахматах это называется "защита печника" LordN(36 знак., 21.01.2025 12:59)
- если делаешь какой-то взрослый недешевый пром ПЛК, то
предусматривай сразу возможность загрузки юзер-проекта на ПЛК с
флешки, без участия компа. плюс копипаст проекта на другие LordN(270 знак., 21.01.2025 07:48)
- Думаю, что в качестве примера стоит посмотреть на Сrossrw
FBD-runtime и XOD AlexG(2 знак., 27.03.2024 19:15, ссылка, ссылка)
- Наверное мне сейчас сразу прилетит за Arduino..., но можно делать
подобное в FlProg . arisov77(135 знак., 26.03.2024 16:28, ссылка, ссылка)
- Я свой метод уже упоминал. Надо изучить язык ST(FBD) и писать на Си
пользуясь той же парадигмой. Например, вот так я вызываю регулятор в главном цикле IBAH(1303 знак., 26.03.2024 14:37, ссылка)
- OpenPLC Можешь поискать это слово по caxapa, тут на него
наталкивались. Это готовый редактор IEC 61131-3 языков. Правда есть
один большой жирный минус. Выходной результат IEC языков ты
получаешь только в виде ARM бинари, которую можешь вызывать из
своего кода. Сишного кода нет. - RxTx(26.03.2024 12:37)
- Есть такой проект - YAPLC. Там товарищи реализовали ПЛК (с
привлечением Beremiz), но не суть. Они там сделали ядро (BSP,
реализующее системные функции и связь с железом) с которым
пользовательский код, синтезированный Beremiz
(IEC->промежуточное описание->код на С->gcc),
общается через ABI. Собственно пользовательский код можно написать
и на голом С, без извращений. Вполне у них можно подсмотреть
реализацию. Chum_A(1 знак., 26.03.2024 09:24, ссылка)
- Первое над чем подумать, как будет внутри устроена пользовательская
программа. Будет ли это конечный автомат? Будет ли у пользователя
мультизадачность? Насколько это будет черезжопно, чисто на уровне
текста? А то видел я контроллеры "на Си", в которых задержку
предлагали блокирующим sleep() делать. Cкpипaч(576 знак., 26.03.2024 09:14)
- Если нативный Си, то нужно слепить небольшой ABI для связи
ядро<->подгружаемый модуль. Таблица указателей на функции
или что-то в этом духе. Есть ещё вариант q3vm, там тоже Си, но
компилируется в байткод, который потом интерпретируется. - SciFi(26.03.2024 08:37)
Знатоки LWIP, подскажите. CaйpycCмит(956 знак., 11.07.2025 14:59,
, MCU, полностью)
Подскажите проверенный на практике JSON для микроконтроллеров, для
обмена по сети. Маленький, быстрый, качественный. - EmbedProg(11.07.2025 15:16,
, MCU, полностью)