- Устройство на STM32F373 + RTOS ChibiOS производится в течении ~ 10
лет, никаких проблем не наблюдалось до последнего времени. В
последние месяц-два на отдельных экземплярах наблюдаются проблемы
зависящие, как говорится, от фазы луны... Либо не стартует (есть
режимы Старт/Стоп ) либо не выходит в режим СТОП . Команды
Старт/Стоп приходят с внешнего пульта по SPI, с этого же пульта, в
режиме Cтоп задаются параметры. Связь с пультом всегда в порядке и
не зависит от Rainman62(495 знак., 11.07.2025 10:55, ARM, полностью)
- Keil MDK6. Кто-нибудь пробовал? Как впечатления? il-2(157 знак., 17.01.2025 14:27, ARM, ссылка, полностью)
- а между тем как все все гопнятся wch зааносила ch32h417( два ядра
400/144 мгц и куча озу). Доков пока правда нет. Только картики.
Китайцы неспешно, но ритмично, насаживают на свой прибор циви
лизованные страны. klen(1 знак., 09.07.2025 10:15, ARM, ссылка, полностью)
- Прошу помощи в понимании работы LWIP и UDP, а так же работы сокетов
в windows. Система простая, есть компьютер с windows и устройство с
контроллером на котором работает LWIP, все в одной локальной сети.
Сейчас надо с компьютера послать широковещательный UDP пакет, а
контроллер его должен принять. Уже на этом этапе у меня какие-то
странности. AlexBi(1429 знак., 03.07.2025 12:47, ARM, полностью)
- в связи с тем что в мои загребущие лапки едет NUCLEO-N657X0-Q...
очень захотелось испытать этот ихний helium klen(9962 знак., 01.07.2025 23:56, ARM, ссылка, картинка, полностью)
- Столкнулся со странной ситуацией, знатоки STM приглашаются к
обсуждению ;-) LightElf(562 знак., 28.06.2025 19:29, ARM, полностью)
- ГДЕ? Ralex(1 знак., 30.06.2025 11:53, картинка)
- А если влезть в код бутлодыря, там ничего интересного нет? - SciFi(29.06.2025 18:00)
- grok: SciFi(4684 знак., 29.06.2025 14:33)
- Если по регистрам никак - отличай по наличию/отсутствия кварца. il-2(448 знак., 29.06.2025 07:32)
- Зачитай регистр CRS configuration register. Там вполне
индивидуальное значение. - alag57(28.06.2025 21:34)
- Эээ... может я не тот RefMan читаю, но DEV_ID таки отличаются. P.S.
извиняюсь, действительно RefMan-ы разные, а DEV_ID одинаковые :-/ reZident(2 знак., 28.06.2025 20:57, картинка, картинка)
- А чего не 072? Они более идентичны, хотя, конечно, второй круче. И,
кстати, умеет в бутлоадер софтварно... - Eddy_Em(28.06.2025 20:16)
- GD32F103. Я правильно понимаю, конфликт JTAG и СH1 TIM2? Короче
симптомы. IBAH(466 знак., 27.06.2025 13:22, ARM, полностью)
- Artery AT32F407. Записываю прошивку софтиной ICP Programmer через
программатор AT-Link+. Если устанавливаю защиту FAP, то программа
автоматически не запускается. Приходится переподключать питание
устройства. После этого всё работает как нужно. При этом в
интерфейсе программатора при установке чекбокса Enable FAP after
download становится недоступным чекбокс Jump to the user program. В
документации сказано, что так и должно быть. При этом нигде в
софтине программатора я не FDA(288 знак., 24.06.2025 10:51, ARM, полностью)
- В кйеле есть такое. Неужто в софтине программатора не сделали. POV(1 знак., 24.06.2025 11:02, картинка)
- Я ж про это и пишу. Что если FAP активируешь, то это галка уже не
работает! А ручного сброса в интерфейсе почему-то нет. - FDA(24.06.2025 11:03)
- Есть проги, которые галочки в интерфейсе снимают. Это вы не имели
дело с мегавиновским софтом. У нас, чтобы шить на производстве,
мастерили софт, который имитирует нажатие кнопок в родной оболочке.
В вашем случае можно приладить доптулз, который по команде будет
ресет дергать на плате. - vesago(24.06.2025 12:11)
- Вот как получается. Всё шьётся, но надо потом плату пересбросить.
Вроде мелочь, но когда придётся шить пару тысяч штук, это уже
напрягать будет :-) FDA(1 знак., 24.06.2025 11:06, картинка)
- Задался вопросом - можно ли при помощи stm32 управлять импульсным
источником питания, руля его ШИМ. Оказывается - все уже придумано -
проц STM32G474 имеет таймеры высокого разрешения, спец для этого. и
даже хардверный цифровой фильтр. Правда я пока не понял для чего.
Есть отладочная плата B-G474E-DPOW1 около 6т на али. Я так понял
что управление идет PID алгоритмом. Только не понятно - по идее
параметры PID зависят от нагрузки, и их надо динамически менять,
или я не прав? Mty1(2 знак., 21.06.2025 18:14, ARM, ссылка, ссылка)
- СТМ32 таймер в режиме двухстороннего аппаратного ШИМ, вывод на
порт. Как наиболее правильно сделать защиту по току. IBAH(250 знак., 21.06.2025 15:22, ARM, полностью)
- Не могу понять - ADC с запуском по таймеру, сканирует 5 каналов и
отдает данные через DMA в буфер. Что в однократном что в curcular режиме - DMA делает один проход буфера и останавливается. А мне
нужно в circular режиме непрерывно наливать в буфер. Накидайте идей
- не могу понять. Stm32 f4, CubeIDE Mty1(74 знак., 19.06.2025 13:54, ARM, картинка, картинка, полностью)
- Странный вопрос задам - а Clipped Sine Wave Oscillator подойдет для
внешнего тактового генератора Stm32 ? - Mty1(12.06.2025 19:21, ARM, полностью)
- Gd32f103cb PD0, PD1 и , EXTI - правильно ли я понял, что внешнее
прерывание не доступно для 48 ногих чипов на данных портах(ногах)
?? - Balda(11.06.2025 17:37, ARM, полностью)
- ch32vxx: починил поддержку FreeRTOS в openocd для wch-riscv klen(1090 знак., 26.12.2024 15:11, ARM, ссылка, картинка, полностью)
- Не работало с WCH-LinkE. Добавил одну строчку в wlinke.c: Nikolay_Po(2076 знак., 10.06.2025 17:40, ссылка)
- Короче, эта сборка с WCH-LinkE пока не работает, по крайней мере с
CH32V317. Пробую поднять отладку RTOS на WCH-Link-CH549. Товарищ
Клён! Есть просьба. Покажите, пожалуйста, ваши конфиги, в
частности, wch-riscv.cfg для OpenOCD и настройки GDB в самой среде
Eclipse. Пока добился, что RTOS видит. И, если, в стартапе отладки,
снять птичку Continue, то отладка идёт пошагово нормально. Кнопка
перезапуска работает - начинает с вектора сброса опять. Но стоит
нажать "плей" - Nikolay_Po(1292 знак., 04.06.2025 14:03)
- Пробую компилировать. Всё хорошо до момента сборки после компиляции
модулей. Ошибок компиляции нет. Но не находит переменных и функций
из wlinke.c, будто бы этот файл не компилируется вообще (не попал в
make?). Nikolay_Po(5366 знак., 03.06.2025 12:32 - 13:21)
- Товарищ Клён, а нельзя ваши труды смержить с этим:
cjacker/wch-openocd Latest source of official WCH OpenOCD
(2024-11-26 version): Nikolay_Po(1 знак., 03.06.2025 09:29, ссылка)
- Тут товарищи из смежных конференций, спрашивают: Nikolay_Po(136 знак., 26.12.2024 15:57)
- Опять GD32F103, опять SPI. Пауза между прием между передачей байт,
на приеме та же хня. Такое ощущение что флаг RXNE выставляется не
после 8, а после 16 бит. Кто виноват и что делать? IBAH(1451 знак., 04.06.2025 20:41 - 20:46, ARM, картинка, полностью)
- Ну теперь точно постиг дао. Китай загадка покрытая тайной. Секрет в
том что перед проверкой BSY надо проверять TXE. Чтоб я еще с шиной
ABP1 связался! IBAH(1870 знак., 09.06.2025 19:41)
- Всем спасибо! Кажись победил! Путём научного тыка в бубен родил
такой код. Правда пришлось добавить еще одну функцию, занятость
SPI. Немножко придется поправить обмен. IBAH(1313 знак., 05.06.2025 15:24, картинка)
- на стр. 490 при передаче предлагают игнорить RBNE Vit(1 знак., 05.06.2025 13:37, ссылка)
- Ну это понятно, передача у меня так и работает. - IBAH(05.06.2025 14:12)
- что-то там мутное. "в полнодуплексном ведущем режиме (MFD)
оборудование получает следующий кадр данных только тогда, когда
буфер передачи не пуст." Vit(802 знак., 05.06.2025 15:00)
- Хз... Мастер, в полнодуплексном режиме, засылает 16 бит в datar(я
предпочитаю "0", но надо смотреть документацию оконечного
устройства) и, как тока попускает, выгребает из datar данные. При
необходимости, повторить. Чота я смотрю на дискуссию и не понимаю,
обо што разговор. - mse homjak(06.06.2025 12:00)
- Разговор о том, что флаг RXNE выставляется, по факту не когда
происходит завершение приема, а на несколько десятков тактов проца
позже (в моем случае гдето 500нС). В результате стоишь тупо ждешь
RXNE!=0, как дебил. С флагом BSY та же история. - IBAH(06.06.2025 15:18)
- RXNE выставляется после передачи байта. Полюбому, чисто, чтобы вы
не забыли вычитать данные(на самом деле, хуй его знает, зачем этот
флаг). Смотрите первые два сообщения по сцылке про это. И пофиг,
передаётся 8 или 16 бит. Это косяг, ессно. Флаг должэн взводиться
после завершения базовой транзакции, т.к. при передаче одновременно
идёт и приём. Т.е. сигнала BUSY или TXE достаточно. Хотя TXE тожэ
нах не упёрся, они оба-три дублируют друг друга. Нижэ код работы с
АЦП. mse homjak(932 знак., 06.06.2025 18:30, ссылка)
- Этот код ничего не доказывает. Сколько времени проходит между
SPI2->DATAR=(uint16_t)0; и входом в прерывание? я думаю больше
16 тактов SPI, как раз на те самые 500нС - IBAH(06.06.2025 18:41)
- То, что больше, к бабке не ходи, т.к. время на вход, контент, пока
доберётся до загрузки. Но тут по другому нельзя было. А по сцылке,
я пытался в аппаратный NSS, но уй там. Потому, для многобайтных
потоков или программного NSS, нужно просто следить за BUSY безо
всяких прерываний. И чем выше скорость SCLK, тем выгоднее тупой
поллинг BUSY. - mse homjak(06.06.2025 18:47)
- Это у вас ошибочка. Вы ждёте лишнего следующего символа. Нет у периферии такой памяти, чтобы задержать
сигнал на на кучу тактов. Вы просто промахиваетесь с приёмом. Или
пропускаете
бит байт (тогда будет поднят флаг оверфлоу, проверьте), или принимаете
и упускаете один, а потом ждёте лишнего. Nikolay_Po(842 знак., 06.06.2025 15:38)
- Я по всякому пробовал... Мне как раз не нужно буферизированное
чтение. Я на ходу байты разбираю. А в доке по GD32 так и написано IBAH(236 знак., 06.06.2025 16:46)
- Ну да. Не вижу противоречий. Как только взводится TXE, сразу
кидайте следующий байт. Но кидать больше байт, чем у вас длина
транзакции - не нужно. Кинули последний, выключили прерывание по
TXE и ждёте падения BSY. Всё. Транзакция закончилась ровно тем
количеством байт, которое отправили в буфер передачи. Так получите
полностью слитную посылку. Nikolay_Po(1026 знак., 06.06.2025 17:46)
- Я так и делаю... Правда на переполнение Rx чихаю. Может из-за этого
проблемы... Попробую не чихать - IBAH(06.06.2025 18:24)
- Чихайте смело. Дажэ плюйте. Просто контролируйте передачу. mse homjak(317 знак., 06.06.2025 18:53)
- Не катит. ТСу нужна непрерывная передача, а по BSY она будет
дырявой. - Nikolay_Po(06.06.2025 20:29)
- Ну, тогда, канешно, придётся смотреть на ТХЕ. Если он работает как
должэн. Тактовая, порты, делим на 2, СПИ тожэ на 2. Это
максимальная СЦК. У СПИ есть двойная буферизация, когда идёт
передача, в ДАТАР можно записать следующее. Скока там будет, читать
статус, проверить флаг, записать новое, подготовить следующее?
Думаю, быстрее, чем 16*4 тактов. - mse homjak(06.06.2025 22:30)
- Спасибо. Совпадает с моими представлениями. Nikolay_Po(295 знак., 06.06.2025 09:00)
- предложу попробовать поменять строки LL_SPI_Init(SPI2,
&SPI_InitStruct); и LL_SPI_Enable(SPI2); между собой - Vit(05.06.2025 12:21)
- А я вот так с SPI работал vesago(2363 знак., 05.06.2025 11:56)
- У тебя между обменами - 500нс, это десятки тактов МК. Что ты еще
хочешь от программного SPI, да еще через библиотеку, да еще с
ожиданием после каждого байта посылки, т.е. без использования
буферного регистра данных SPI. Так оно примерно и будет, так что
все нормально. - il-2(05.06.2025 06:15)
- Йа каг-то упоролся с СПИ СТМа. Часть моей боли тут, по сцылке. mse homjak(1 знак., 04.06.2025 23:38, ссылка)
- от POV(1 знак., 04.06.2025 21:24, ссылка)
- В листинге все ОК, наблюдаю байтовую запись STRB r2,[r4,#0xc] IBAH(442 знак., 04.06.2025 20:54)
- попробуй перед отправкой еще флаг TXE проверять POV(53 знак., 04.06.2025 20:54, картинка)
- Или проблема в медленной шине APB1 на которой сидит SPI2 ? - IBAH(04.06.2025 20:54)
- Компилятор Кейл. - IBAH(04.06.2025 20:43)