Полная версия этой страницы:
ATmega48 глючит
Стираю чип загружаю флеш программа запускается нормально работает но стоит отключить включить питание появляется глюк по SRAM в виде произвольных читаемых значениях хотя записывается фиксированное значение. Глюк устраняется стиранием чипа. Епром и флеш программа не изменяет. Стираю чип выключаю включаю питание загружаю флеш, присутствует глюк
RabidRabbit
Mar 8 2015, 17:35
чаще всего всё же виновата программа, например позабытый в таблице векторов прерываний rjmp с последующим включением этого прерывания.
иногда ещё неотключенный вотчдог.
иногда несоблюдение режима работы камня, типа заставляют работать на 20 МГц при питании 3.3В.
иногда паразитное питание от другой части схемы (питание с которой Вы не отключаете).
короче говоря - включайте фантазию, не забывая про даташит
дело было в чипе, многое он у меня повидал, и замыкание выводов и 8 вольт питания
Егоров
Mar 15 2015, 17:02
Контроллеры и схемы вообще никогда не глючат . Глючат программисты, а разработчики ошибаются.
rx3apf
Mar 15 2015, 17:45
Бывает, что и микросхемы глючат. Помню, был у меня экземпляр PIC16F84, у которого сползала одна ячейка программной памяти. Чип был свежий, не замученный программатором. Я увидел это, удивился, переписал - через неделю та же картина... На других экземплярах устройств с чипами той же партии - никаких проблем...
RabidRabbit
Mar 15 2015, 17:58
Глючный чип - это странно... Вот у меня ATmega48 получила 12 вольт питания однажды. Ну ничего, пережила, это устройство до сих пор на ходу, года 4 уже 24/7 работает...
да поторопился не в чипе дело
Цитата(сыр @ Mar 18 2015, 21:28)

да поторопился не в чипе дело.
Ну, так и скажите же в чем, не интригуйте нас.
При написании программы предполагалось что при включении в регистрах общего назначения нули, после программирования контроллера в них действительно были нули но после выключения питания могло оказаться что угодно. Мораль истории такова инициализируйте все используемые регистры
Цитата(сыр @ Apr 16 2015, 09:53)

Мораль истории такова инициализируйте все используемые регистры
А должны ли после сброса все РОН инициализироваться нулями?
DS что говорит?
Цитата(zombi @ Apr 17 2015, 10:51)

А должны ли после сброса все РОН инициализироваться нулями?
DS что говорит?
Разумеется нет. И вообще, как вы себе эту иницализацию представляете с точки зрения аппаратуры?
Цитата(_Bill @ Apr 18 2015, 11:55)

Разумеется нет. И вообще, как вы себе эту иницализацию представляете с точки зрения аппаратуры?
Не имею ни малейшего представления.
Но ведь РВВ как то инициализируют, и не всегда нулями.
Почему бы и РОН не проинитить?
Цитата(zombi @ Apr 19 2015, 02:08)

Не имею ни малейшего представления.
Но ведь РВВ как то инициализируют, и не всегда нулями.
Почему бы и РОН не проинитить?
Так портов сравнительно немного, да и реализуются они иначе, нежели остальные ячейки памяти. У каждого регистра порта В/В имеются цепи установки/сброса. А оперативная память состоит из сотен ячеек, и к каждой цепи инициализации не подведешь. РОН являются частью ОЗУ, со всеми вытекающими отсюда последствиями.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.