adnega 11 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба 1) Ток потребления ESP-12F до 250 мА. Одного L78L33 будет маловато. Я для ESP всегда отдельный от МК LDO ставлю. 2) Вывод PC13(2) запрещено использовать для LED: Цитата 1. PC13, PC14 and PC15 are supplied through the power switch. Since the switch only sinks a limited amount of current (3 mA), the use of GPIOs PC13 to PC15 in output mode is limited: - The speed should not exceed 2 MHz with a maximum load of 30 pF. - These GPIOs must not be used as current sources (e.g. to drive an LED). 3) Вы работаете от HSI. Вы по LSE планируете подстраивать HSI? Или RTC используете? 4) Я NRST(7) дополнительно к 3V3 подключаю через резистор 10 кОм. 5) Конденсаторов 100 нФ по питанию маловато (должно быть 3 у МК, один у ESP, у LDO с двух сторон). 6) От X5 возможно внешнее питание? Ток M4148 всего 150 мА - мало. С выхода LDO нужен диод на вход. Уровень PWR_ON плавающий. 7) Ножку BOOT лучше через 10 кОм на землю подключить, и вывести в SWD. Как и NRST в разъеме SWD не раз вас спасет. 8) Распиновка TTP224 какая-то странная. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 1 июля, 2022 Опубликовано 1 июля, 2022 · Жалоба adnega, спасибо за критические замечания - кое-что выпустил из вида, нужно исправить. По PC13: как я понял описание, ограничен ток, который выдаёт на выход, у меня тут втекающий ток, должен уходить на GND. Запрещает использовать в качестве источника, или я неверно понимаю? ESP-12F пока не стоит, наверное, придётся ставить стабилизатор по мощнее. LSE только для RTC. Уровень PWR_ON задаётся с МК, сделано для режима низкого потребления. Диод с выхода LDO на вход - зачем? X5 - батарейка для резервного питания, ток микроамперы. С TTP224 всё в порядке, корпус SSOP-16. Что по существу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 1 июля, 2022 Опубликовано 1 июля, 2022 · Жалоба Кажется, почти разобрался. Во-первых, выяснил, что после включения бита LSEON и последующего сброса в функции HAL_RCCEx_periphCLKConfig ловим HardFault. Обработчик имеет бесконечный цикл. Наверное, проблема возникает, когда SystemClock_Config пытается настроить работу на LSI, а всё в предыдущий раз уже было настроено на LSE. Теперь перед вызовом функции SystemClock_Config поставил сброс Backup-области и всё проходит нормально. Хотя, конечно, это "костыли", хотелось-бы разобраться, как правильно сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 232 1 июля, 2022 Опубликовано 1 июля, 2022 · Жалоба В 30.06.2022 в 11:56, Ioann_II сказал: Т.е. переделать функцию SystemClock_Config();? Нет. Открыть ref.мануал на МК. Прочитать его раздел касающийся тактирования. И написать самостоятельно запуск всех необходимых источников тактирования и переключение на них. Не заглядывая в мурзилки типа куба и прочего. В ref.manual + datasheet + errata = есть всё необходимое для самостоятельного запуска МК. В 01.07.2022 в 08:11, Ioann_II сказал: Хотя, конечно, это "костыли", хотелось-бы разобраться, как правильно сделать. Разобраться можно только читая и вникая в мануал. А Вы продолжаете "пинать колёса" и ваять костыли, прилаживая тем или иным образом готовые функции, механизма работы которых не понимаете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 4 июля, 2022 Опубликовано 4 июля, 2022 · Жалоба Посмотрел в мануал, кажется всё так (если исходить из перенастройки с LSI на LSE после настройки тактирования), надо только оформить как следует, с проверками всеми и тайм-аутами... Дописал настройку делителей для кварца, часы вроде идут верно. Потом заглянул во внутрь функций, которые куб сгенерировал: вроде бы всё соответствует... может времени быть тайм-аута не хватает (там 5с на запуск LSE). Ну видно, что стартует долго, но кажется меньше 5с... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться