atmega328pb
Re: atmega328pb
При отладке будьте осторожней с Lock битами - в документации это есть, но как-то очень не заметно. При их установке (любых) не возможна работа по протоколу DWI. В частности, вы не сможете перейти в режим SPI. Я, пока разобрался, несколько чипов залочил.
- bafomet911
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Чт янв 31, 2019 18:49:04
- Откуда: Воронежская область
Re: atmega328pb
Размещу тут проблемку и решение, а то на неадекватных форумах не получается...
И так, проблема в Atmega328PB:
Платка не вставлена в устройство, т.е. есть минимальная обвязка, большая часть ног портов висит в воздухе.
На простейшем коде (мигание СДИ + софтовые задержки) зависание после первого цикла на втором.
Поведение:
Касание пальцами выводит из зависания...
Нашёл:
При последовательном касании выводов металлической спицей, на PE3 зависание пропадает.
Подтяжка пинов PE0-3, сконфигурированных на вход, решила проблему! Статистически, 100% выведение из зависания происходит по касанию пина.
Прерывания ни как не настраивались специально, были только настроены порты, прописан стэк и отключен компаратор:
"ldi Temp,0b10000000
out ACSR,Temp ; выключаем компаратор"
SEI в коде вообще отсутствует.
Вероятнее всего Z-состояние входов (т.к. обвязки ещё нет) не влияет на поведение. Есть огромная доля вероятности, что виной тому узлы QTouch, т.к. в модели МК с индексом просто "P" подобного не встречалось.
И так, проблема в Atmega328PB:
Платка не вставлена в устройство, т.е. есть минимальная обвязка, большая часть ног портов висит в воздухе.
На простейшем коде (мигание СДИ + софтовые задержки) зависание после первого цикла на втором.
Поведение:
Касание пальцами выводит из зависания...
Нашёл:
При последовательном касании выводов металлической спицей, на PE3 зависание пропадает.
Подтяжка пинов PE0-3, сконфигурированных на вход, решила проблему! Статистически, 100% выведение из зависания происходит по касанию пина.
Прерывания ни как не настраивались специально, были только настроены порты, прописан стэк и отключен компаратор:
"ldi Temp,0b10000000
out ACSR,Temp ; выключаем компаратор"
SEI в коде вообще отсутствует.
Вероятнее всего Z-состояние входов (т.к. обвязки ещё нет) не влияет на поведение. Есть огромная доля вероятности, что виной тому узлы QTouch, т.к. в модели МК с индексом просто "P" подобного не встречалось.
Если в голове каша, значит ваш котелок варит!
Re: atmega328pb
Все неиспользуемые выводы необходимо переводить на ВЫХОД. Создание проблемы и её героическое решение.
Re: atmega328pb
[uquote="parovoZZ",url="/forum/viewtopic.php?p=4036631#p4036631"]Все неиспользуемые выводы необходимо переводить на ВЫХОД. Создание проблемы и её героическое решение.[/uquote]
Начинается... Чушь от не внимательности.
Читаем ешё раз и внимательно выше:
Т.е в аппарате куда вставляется плата всё разведено и подключено. В колодке для прошивки замечено аномальное поведение. О чём и доложено!
Начинается... Чушь от не внимательности.
Читаем ешё раз и внимательно выше:
bafomet911 писал(а):Платка не вставлена в устройство, т.е. есть минимальная обвязка, большая часть ног портов висит в воздухе.
Т.е в аппарате куда вставляется плата всё разведено и подключено. В колодке для прошивки замечено аномальное поведение. О чём и доложено!
Если в голове каша, значит ваш котелок варит!
Re: atmega328pb
DrLithium, а у вас пин RST в воздухе не висит случайно?
Re: atmega328pb
На колодке (которая дополнительно надевалась на плату) распаян резистор с конденсатором по классике. Т.ч . точно нет.
З.Ы. Можно ещё заметить, что подтяжка внутреннем резюком сыграла плохую шутку - повлияла на стабильность внешней цепочки, и по этому логический ноль не появляется. Пришлось снимать подтяжку внутреннюю и оставлять только внешнюю цепь.
Видимо некоторые "умники" (чуть выше), не в курсе того, что на всех форумах рекомендуют отказываться от внутренней подтяжки, в угоду внешней.
У меня тут выбор не стоит, плату вкраиваю в промышленный аппарат. И тут всё не просто... 3-и сутки голова пухнет над проектом.
З.Ы. Можно ещё заметить, что подтяжка внутреннем резюком сыграла плохую шутку - повлияла на стабильность внешней цепочки, и по этому логический ноль не появляется. Пришлось снимать подтяжку внутреннюю и оставлять только внешнюю цепь.
Видимо некоторые "умники" (чуть выше), не в курсе того, что на всех форумах рекомендуют отказываться от внутренней подтяжки, в угоду внешней.
У меня тут выбор не стоит, плату вкраиваю в промышленный аппарат. И тут всё не просто... 3-и сутки голова пухнет над проектом.
Если в голове каша, значит ваш котелок варит!
Re: atmega328pb
Странные у вас чудеса творятся, я таких на своей 328 не разу не замечал, есть ещё 2 мысли:
* от чего тактируетесь, кварц или внутрянка?
* стабильность питания, или может чего с провода питания прилетает.
Если есть проблема значит, что то её вызывает, надо искать причину.
* от чего тактируетесь, кварц или внутрянка?
* стабильность питания, или может чего с провода питания прилетает.
Если есть проблема значит, что то её вызывает, надо искать причину.
Re: atmega328pb
на всех форумах рекомендуют отказываться от внутренней подтяжки
а как от неё отказаться умники с форумов знают?
Есть огромная доля вероятности, что виной тому узлы QTouch
Есть тиньки с такой фигнёй (0-ой и 1ой серии). Описанных проблем нет.
Re: atmega328pb
parovoZZ писал(а):на всех форумах рекомендуют отказываться от внутренней подтяжки
а как от неё отказаться умники с форумов знают?
Элементарно, ставь внешнюю

Re: atmega328pb
Внешняя подтяжка не ведёт от отказа от внутренней.
Re: atmega328pb
В смысле, нафига включать внутреннюю если уже есть внешняя 

Re: atmega328pb
нафига включать внутреннюю
Можно страницу даташита, где сказано про такое действие.
А если вывод ресета обычный GPIO - тогда что куда подтягивать?
Re: atmega328pb
Можно страницу даташита, где сказано про такое действие.
А если логически подумать, нафига делать одно и тоже дважды причём одновременно?
А если вывод ресета обычный GPIO - тогда что куда подтягивать?
Если он сконфигурирован как GPIO то от ресета он уже отключен, далее настраиваем так как нам нужно, ведь для чего то его отключили от ресета?
Последний раз редактировалось alex_ Чт май 27, 2021 10:41:39, всего редактировалось 1 раз.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: atmega328pb
умники, советующие отказ от внутренней подтяжки, делают частность правилом, а это не корректно. внешняя подтяжка вполне может приводить к утечкам в режимах сна контроллера, в то время как внутреннюю можно отключить на это время. ну в малогабаритных изделиях каждый внешний компонент проблема. и так далее. в очень большом количестве устройств вполне можно обойтись без внешних подтяжек. так что к советам умников слишком трепетно относиться не стоит.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: atmega328pb
[uquote="parovoZZ",url="/forum/viewtopic.php?p=4037977#p4037977"]
а как от неё отказаться умники с форумов знают?
Есть тиньки с такой фигнёй (0-ой и 1ой серии). Описанных проблем нет.[/uquote]
М.б. ключевое слово "внутренняя" наведёт тех умников на верную мыслю. Я глупый, я просто знаю, останые пусть догадываются или погуглят. )
М.б. и есть такие тиньки... Но в данном случае наверное надо было записать видос, со 100% излечением из зависона по касанию? Или поспорить, что 10/10... или не, 100/100 отработает! Я бы на палец поспорил, против вашей феррари. ) Просто времени жаль и так проблем хватает...
З.Ы. В студии проект работает шикарно, в железе не желает... Скажу сразу, пишу на ассемблере. Прерывания не пашут знаете ли... Сначала думал, что накосячил, поправил что нашёл, но не работает. Далее подумал PCINT не пашет, попробовал INT0 - аналогично. Подумал что таблица прерываний окривела - нет. В таблице меток в конце которой общий reti на случай срабатывания "левого" прерывания, обычно комментируются нужные прерывания, а метки с обработкой кидают после инициализации. Дак светодиод в списке по своим прерыванием (PCINT2:, если его не закомментить) загорается от PD7, а в копии (PCINT2:, если первую метку закомментить) под инициализацией - нет! Т.е. вектор перехода попадает на место! Чудеса! Разберусь что это было, дам знать...
на всех форумах рекомендуют отказываться от внутренней подтяжки
а как от неё отказаться умники с форумов знают?
Есть огромная доля вероятности, что виной тому узлы QTouch
Есть тиньки с такой фигнёй (0-ой и 1ой серии). Описанных проблем нет.[/uquote]
М.б. ключевое слово "внутренняя" наведёт тех умников на верную мыслю. Я глупый, я просто знаю, останые пусть догадываются или погуглят. )
М.б. и есть такие тиньки... Но в данном случае наверное надо было записать видос, со 100% излечением из зависона по касанию? Или поспорить, что 10/10... или не, 100/100 отработает! Я бы на палец поспорил, против вашей феррари. ) Просто времени жаль и так проблем хватает...
З.Ы. В студии проект работает шикарно, в железе не желает... Скажу сразу, пишу на ассемблере. Прерывания не пашут знаете ли... Сначала думал, что накосячил, поправил что нашёл, но не работает. Далее подумал PCINT не пашет, попробовал INT0 - аналогично. Подумал что таблица прерываний окривела - нет. В таблице меток в конце которой общий reti на случай срабатывания "левого" прерывания, обычно комментируются нужные прерывания, а метки с обработкой кидают после инициализации. Дак светодиод в списке по своим прерыванием (PCINT2:, если его не закомментить) загорается от PD7, а в копии (PCINT2:, если первую метку закомментить) под инициализацией - нет! Т.е. вектор перехода попадает на место! Чудеса! Разберусь что это было, дам знать...
Если в голове каша, значит ваш котелок варит!
Re: atmega328pb
ARV, уважаемый, поясни суть мысли: чем плоха внешняя подтяжка без включения внутренней, если у меня не используется режим сна и питаюсь я от сети.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: atmega328pb
я не говорил, что какой-то из вариантов плох, я обращал внимание всех на тот факт, что выбор надо делать в каждом случае осознанно и по обстоятельствам. скажем, допускать перегрузку пина МК - плохо всегда, и не стоит это закладывать. а подтяжка может быть иной раз хороша внешняя, а иной раз - внутренняя. тут однозначности нет и быть не может.
только и всего.
только и всего.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: atmega328pb
Тут просто товарищ parovoZZ, если я его правильно понял, утверждает, что нужно использовать 2 типа подтяжки разом.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: atmega328pb
я всегда очень скептически отношусь к утверждениям, плохо коррелирующими с теорией. "нужно" и "можно" - две большие разницы: первая не допускает отступления, вторая - допускает.
так вот, я бы сказал, что при наличии внешней подтяжки менее 10К наличие или отсутствие внутренней вообще никак не влияет ни на что. а случаев внешней подтяжки порядка сотен килоом мне неизвестно... но при такой подтяжке внутренняя может существенно влиять на поведение схемы.
так вот, я бы сказал, что при наличии внешней подтяжки менее 10К наличие или отсутствие внутренней вообще никак не влияет ни на что. а случаев внешней подтяжки порядка сотен килоом мне неизвестно... но при такой подтяжке внутренняя может существенно влиять на поведение схемы.
Последний раз редактировалось ARV Чт май 27, 2021 11:03:17, всего редактировалось 1 раз.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!