При отладке будьте осторожней с Lock битами - в документации это есть, но как-то очень не заметно. При их установке (любых) не возможна работа по протоколу DWI. В частности, вы не сможете перейти в режим SPI. Я, пока разобрался, несколько чипов залочил.
Размещу тут проблемку и решение, а то на неадекватных форумах не получается...
И так, проблема в Atmega328PB: Платка не вставлена в устройство, т.е. есть минимальная обвязка, большая часть ног портов висит в воздухе. На простейшем коде (мигание СДИ + софтовые задержки) зависание после первого цикла на втором.
Поведение: Касание пальцами выводит из зависания...
Нашёл: При последовательном касании выводов металлической спицей, на PE3 зависание пропадает. Подтяжка пинов PE0-3, сконфигурированных на вход, решила проблему! Статистически, 100% выведение из зависания происходит по касанию пина.
Прерывания ни как не настраивались специально, были только настроены порты, прописан стэк и отключен компаратор: "ldi Temp,0b10000000 out ACSR,Temp ; выключаем компаратор"
SEI в коде вообще отсутствует.
Вероятнее всего Z-состояние входов (т.к. обвязки ещё нет) не влияет на поведение. Есть огромная доля вероятности, что виной тому узлы QTouch, т.к. в модели МК с индексом просто "P" подобного не встречалось.
_________________ Если в голове каша, значит ваш котелок варит!
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
На колодке (которая дополнительно надевалась на плату) распаян резистор с конденсатором по классике. Т.ч . точно нет.
З.Ы. Можно ещё заметить, что подтяжка внутреннем резюком сыграла плохую шутку - повлияла на стабильность внешней цепочки, и по этому логический ноль не появляется. Пришлось снимать подтяжку внутреннюю и оставлять только внешнюю цепь.
Видимо некоторые "умники" (чуть выше), не в курсе того, что на всех форумах рекомендуют отказываться от внутренней подтяжки, в угоду внешней.
У меня тут выбор не стоит, плату вкраиваю в промышленный аппарат. И тут всё не просто... 3-и сутки голова пухнет над проектом.
_________________ Если в голове каша, значит ваш котелок варит!
Странные у вас чудеса творятся, я таких на своей 328 не разу не замечал, есть ещё 2 мысли: * от чего тактируетесь, кварц или внутрянка? * стабильность питания, или может чего с провода питания прилетает. Если есть проблема значит, что то её вызывает, надо искать причину.
умники, советующие отказ от внутренней подтяжки, делают частность правилом, а это не корректно. внешняя подтяжка вполне может приводить к утечкам в режимах сна контроллера, в то время как внутреннюю можно отключить на это время. ну в малогабаритных изделиях каждый внешний компонент проблема. и так далее. в очень большом количестве устройств вполне можно обойтись без внешних подтяжек. так что к советам умников слишком трепетно относиться не стоит.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
на всех форумах рекомендуют отказываться от внутренней подтяжки
а как от неё отказаться умники с форумов знают?
Цитата:
Есть огромная доля вероятности, что виной тому узлы QTouch
Есть тиньки с такой фигнёй (0-ой и 1ой серии). Описанных проблем нет.
М.б. ключевое слово "внутренняя" наведёт тех умников на верную мыслю. Я глупый, я просто знаю, останые пусть догадываются или погуглят. )
М.б. и есть такие тиньки... Но в данном случае наверное надо было записать видос, со 100% излечением из зависона по касанию? Или поспорить, что 10/10... или не, 100/100 отработает! Я бы на палец поспорил, против вашей феррари. ) Просто времени жаль и так проблем хватает...
З.Ы. В студии проект работает шикарно, в железе не желает... Скажу сразу, пишу на ассемблере. Прерывания не пашут знаете ли... Сначала думал, что накосячил, поправил что нашёл, но не работает. Далее подумал PCINT не пашет, попробовал INT0 - аналогично. Подумал что таблица прерываний окривела - нет. В таблице меток в конце которой общий reti на случай срабатывания "левого" прерывания, обычно комментируются нужные прерывания, а метки с обработкой кидают после инициализации. Дак светодиод в списке по своим прерыванием (PCINT2:, если его не закомментить) загорается от PD7, а в копии (PCINT2:, если первую метку закомментить) под инициализацией - нет! Т.е. вектор перехода попадает на место! Чудеса! Разберусь что это было, дам знать...
_________________ Если в голове каша, значит ваш котелок варит!
я не говорил, что какой-то из вариантов плох, я обращал внимание всех на тот факт, что выбор надо делать в каждом случае осознанно и по обстоятельствам. скажем, допускать перегрузку пина МК - плохо всегда, и не стоит это закладывать. а подтяжка может быть иной раз хороша внешняя, а иной раз - внутренняя. тут однозначности нет и быть не может.
только и всего.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
я всегда очень скептически отношусь к утверждениям, плохо коррелирующими с теорией. "нужно" и "можно" - две большие разницы: первая не допускает отступления, вторая - допускает.
так вот, я бы сказал, что при наличии внешней подтяжки менее 10К наличие или отсутствие внутренней вообще никак не влияет ни на что. а случаев внешней подтяжки порядка сотен килоом мне неизвестно... но при такой подтяжке внутренняя может существенно влиять на поведение схемы.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: Paktok и гости: 36
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения