Ассемблер (ASM) для AVR в вопросах и ответах
Re: Ассемблер (ASM) для AVR в вопросах и ответах
прочитал такое утверждение, что при сбросе все РВВ устанавливаются в ноль, а вот РОН могут принимать произвольные значения
правда ли это и с чем это связано ?
правда ли это и с чем это связано ?
Tell Me The Truth
- Реклама
Re: Ассемблер (ASM) для AVR в вопросах и ответах
правда ли это и с чем это связано ?
Ответил же выше: периферия инициализируется заново (РВВ тоже периферия), а РОН и память - нет. То есть там останутся значения, которые были ДО сброса, или мусор, если ДО сброса было выключенное состояние (т.е. только что подали питание).
Re: Ассемблер (ASM) для AVR в вопросах и ответах
ploop писал(а):или мусор, если ДО сброса было выключенное состояние (т.е. только что подали питание).
а почему там будет мусор ? ведь привыключенном МК данные в ОЗП теряются.
Tell Me The Truth
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Теряются, если МК выключено на достаточно долгое время, порядка единиц или десятков секунд, точно не проверял.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
ведь привыключенном МК данные в ОЗП теряются.
А то такое, по твоему, "потерять данные"? Что такое "данные"?
Представь битовую ячейку. В ней всегда может быть только 0 или 1. Вот в ней есть какое-то значение. Ответь, в ней есть данные или нет? 0 - это данные? А 1 - это данные? А что значит "удалить данные"?
Есть только один ответ на этот вопрос: данные это то, что мы считаем актуальным состоянием ячейки на текущий момент. Другими словами, если мы сами записали туда состояние (программно или железно). Иначе там мусор, т.е. случайное состояние.
В конкретных реализациях памяти после включения питания могут быть одни нули, или одни единицы, но доверять этому нельзя. И если заводите переменную в памяти, то её надо обязательно инициализировать, то есть записать какое-то значение, например ноль. Инициализировать можно неявно, например, при создании переменной-счетчика туда, согласно алгоритму, обязательно запишется начальное значение, а только потом будет проверяться.
- Реклама
Re: Ассемблер (ASM) для AVR в вопросах и ответах
я понимаю это так
допустим у меня есть несколько переменных temp, temp1, temp2
в них должны хранится некие числа от 0 до 255
в процессе выполнения проги в них ранятся некие значения
потом я вырубил питание
моя ОЗП обнулилась
в выще указаннях переменных, по всем законам жанра, должен быть 0
где же тогда ошибка в моих суждениях ?
допустим у меня есть несколько переменных temp, temp1, temp2
в них должны хранится некие числа от 0 до 255
в процессе выполнения проги в них ранятся некие значения
потом я вырубил питание
моя ОЗП обнулилась
в выще указаннях переменных, по всем законам жанра, должен быть 0
где же тогда ошибка в моих суждениях ?

Tell Me The Truth
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Ошибка вот: моя ОЗП обнулилась
Производитель не гарантирует, что она обнулится. При включение питания любая помеха может привести ячейку в рандомное состояние, а потом уже это значение зафиксируется, когда система войдёт в рабочий режим.
А вот с РВВ, регистрами конфигурации всяких счетчиков, АЦП и прочего, производитель гарантирует, что после сброса и выхода системы на рабочий режим произойдёт очистка этих регистров.
Производитель не гарантирует, что она обнулится. При включение питания любая помеха может привести ячейку в рандомное состояние, а потом уже это значение зафиксируется, когда система войдёт в рабочий режим.
А вот с РВВ, регистрами конфигурации всяких счетчиков, АЦП и прочего, производитель гарантирует, что после сброса и выхода системы на рабочий режим произойдёт очистка этих регистров.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Почему обнулилась? Почему бы не заполнилась единицами скажем? Не инициализирована значит не было записи конкретных данных, а посему - что там сидит - бог его знает. У программиста, как известно, на прикроватной тумбочке должны стоять два стакана - один с водой и второй пустой: первый на случай, если он захочет попить, а другой - если не захочет.
Docendo discimus
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
FreshMan писал(а):где же тогда ошибка в моих суждениях?
РОН — это статическое ОЗУ (SRAM). Его ячейка (бит) чем-то похожа на мультивибратор:
может быть устойчива в двух дискретных состояниях.
Поэтому в какое именно состояние она опрокинется при подаче питания — ХЗ.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Ассемблер (ASM) для AVR в вопросах и ответах
ploop писал(а):А вот с РВВ, регистрами конфигурации всяких счетчиков, АЦП и прочего, производитель гарантирует, что после сброса и выхода системы на рабочий режим произойдёт очистка этих регистров.
это какая то сказка
с ваших слов выходит так: в случае с РОН мы не даем гарантии на обнуление, а с РВВ мы ее даем
но как же так, ведь и РОН и РВВ принадлежат к ОЗУ
но РВВ мы обнуляем жостко, а РОН шиш с маслом
как сие возможно ?

Tell Me The Truth
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
FreshMan писал(а):как сие возможно ?
Сделано блиать аппаратно обнуление РВВ при сбросе.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Ассемблер (ASM) для AVR в вопросах и ответах
а че тогда не сделать аппваратно сброс и для РОН ?
ведь тогда проблем бы в мире поубавилось
ведь тогда проблем бы в мире поубавилось
Tell Me The Truth
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
FreshMan писал(а):а че тогда не сделать аппваратно сброс и для РОН ?
Нахуа?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
А тебя как-то ебёт волнует, что там мусор?
Заслал туда своё значение, мусор затёрся.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Gudd-Head, русокото облико морале ! 
Tell Me The Truth
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Не, Свежий, ну скажи, чем тебе мешает мусор в ОЗУ и РОН?
Единственное что они могли сделать во всех АВРках, это чтобы стек после ресета настраивался сам.
Единственное что они могли сделать во всех АВРках, это чтобы стек после ресета настраивался сам.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Да уж. FreshMan мертвого кота вопросами за#@$т!
Ржал с последних ответов Gudd-Head'а))) Молодец!
РВВ выходят наружу микроконтроллера, поэтому переводятся в самое безопасное для остальной схемы состояние - высокоимпедансное. Остальное - забота программиста.
РВВ выходят наружу микроконтроллера, поэтому переводятся в самое безопасное для остальной схемы состояние - высокоимпедансное. Остальное - забота программиста.
Ставим плюсы: )
Re: Ассемблер (ASM) для AVR в вопросах и ответах
FreshMan, ты просто не в курсе, что этому эффекту можно найти множество применений, например управление девайсом кнопкой на RESET'е 
И ещё открою страшный секрет: удаляя файл с компа на жёстком диске ничего физически не удаляется, файл лежит цел целёхонек, только место помечено как свободное
И ещё открою страшный секрет: удаляя файл с компа на жёстком диске ничего физически не удаляется, файл лежит цел целёхонек, только место помечено как свободное
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: Ассемблер (ASM) для AVR в вопросах и ответах
FreshMan писал(а):но как же так, ведь и РОН и РВВ принадлежат к ОЗУ
но РВВ мы обнуляем жостко, а РОН шиш с маслом
как сие возможно ?![]()
РОН и РВВ не принадлежат к ОЗУ. Они расположены в отдельных регистрах, но могут быть адресованы как часть ОЗУ. За счет этого и достигается быстродействие 1MISP/MHz. Насчет безопасности ibiza11 верно сказал, тем более что в реальности это наверняка общая асинхронная линия RESET. А занулять память возможно только по одной ячейке. Можно прикинуть сколько это займет по времени, особенно учитывая что на практике никогда не нужно.
Не стоит. Во-первых в разных RTOS для каждой задачи используется свой стек со своим адресом, во-вторых для некоторых применений имеет смысл адресовать стек с 0x00FF, для простоты адресации ОЗУ (XH=0x01; XL=адрес).Единственное что они могли сделать во всех АВРках, это чтобы стек после ресета настраивался сам.


