Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как заполнить свободную память?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2
Kuzmi4
2 Yuriy_AVR @ Sep 28 2007, 14:45 - и всё же, расскажите как вы запустили авр-ку на 27 мегагерцах?? И почему она у вас должна была работать медленнее??
Я когда запускаю аврку на 20 МГЦ - она у меня работает быстрей чем на 16-ти....
Petka
Цитата(Kuzmi4 @ Sep 28 2007, 18:16) *
2 Yuriy_AVR @ Sep 28 2007, 14:45 - и всё же, расскажите как вы запустили авр-ку на 27 мегагерцах?? И почему она у вас должна была работать медленнее??

А может кварц, был 27Мгц не на первой гармонике?
Kuzmi4
Тогда вопрос многоуважаемого Yuriy_AVR - почему будет работать медленней имеет простой ответ - 9 МГЦ ессно меньше 16!!!
mdmitry
Цитата(Kuzmi4 @ Sep 28 2007, 18:23) *
Тогда вопрос многоуважаемого Yuriy_AVR - почему будет работать медленней имеет простой ответ - 9 МГЦ ессно меньше 16!!!

Очень похоже, что кварц на 27 эта 3 гармоника. Что-то давнее говорит мне, что на первой гармонике кварцы до 10 МГц или около этого только могут работать.
Proton
Цитата(mdmitry @ Sep 29 2007, 03:18) *
Очень похоже, что кварц на 27 эта 3 гармоника. Что-то давнее говорит мне, что на первой гармонике кварцы до 10 МГц или около этого только могут работать.

Данные действительно устарели. Посмотрите информацию о кварцах с обратной(инвертированной) мезаструктурой, частота первой гармоники у них может доходить до 250МГц и более.
Yuriy_AVR
Цитата(Petka @ Sep 28 2007, 17:03) *
sad.gif Такого вы не предлагали, это раз. Схему с конденсатором и диодом я не рекомендую использовать даже в "случае бедности" т.к. и в этом случае надёжность будет только хуже чем просто резистор 1-10кОм на питание.

07.gif Пожалуйста повнимательнее читайте !!!. Позволю себя процетировать :

"Очень непомешает внешний супервизор с отличным от Brown-out проца значением . Т.е. например Brown-out проца заводишь на 4 вольта , а внешний применяешь со значением 4,5 вольта ( например MCP-450 производства Microchip )".

Я это не писал ? Только немного ошибся в названии супервизора , вместо MCP-450 правильно должно быть MCP-100-450 ( машинальная ошибка ). Это во первых .
А теперь приведите аргументы против резистор + конденсатор + диод.
Аргументы типа нерекомендую не считаю аргументами . . .
wink.gif
Petka
Цитата(Yuriy_AVR @ Sep 30 2007, 13:41) *
А теперь приведите аргументы против резистор + конденсатор + диод.

1) Не все программаторы будут дожидаться пока конденсатор разрядится. И не произойдёт вход в режим программирования.
2) AVR работают от 1.8 вольт. Какой это диод надо поставить что бы надёжно происходила разрядка конденсатора?
3) Ресет является логическим входом и напряжение на нём большее 0.2 и меньшее 0.9 от напряжения питания считается булево неопределённым. Зачем подавать такой сигнал на вход контроллера?

А теперь обьясните что такое волшебное обеспечивает ёмкость на ресете? Задержку при подаче питания? Так она и так обеспечивается внутренней схемой сброса. Дополнительные компоненты, которые увеличивают стоимость, размер платы, и уменьшают надёжность?
Yuriy_AVR
Цитата(Kuzmi4 @ Sep 28 2007, 17:16) *
2 Yuriy_AVR @ Sep 28 2007, 14:45 - и всё же, расскажите как вы запустили авр-ку на 27 мегагерцах?? И почему она у вас должна была работать медленнее??
Я когда запускаю аврку на 20 МГЦ - она у меня работает быстрей чем на 16-ти....

сейчас сильно болеею , отвечу поздже

Цитата(Petka @ Sep 30 2007, 21:29) *
1) Не все программаторы будут дожидаться пока конденсатор разрядится. И не произойдёт вход в режим программирования.
2) AVR работают от 1.8 вольт. Какой это диод надо поставить что бы надёжно происходила разрядка конденсатора?
3) Ресет является логическим входом и напряжение на нём большее 0.2 и меньшее 0.9 от напряжения питания считается булево неопределённым. Зачем подавать такой сигнал на вход контроллера?

А теперь обьясните что такое волшебное обеспечивает ёмкость на ресете? Задержку при подаче питания? Так она и так обеспечивается внутренней схемой сброса. Дополнительные компоненты, которые увеличивают стоимость, размер платы, и уменьшают надёжность?


1) 0,1 uF достаточно малая ёмкость , и я ещё не видел ни одного программатора ( включая в том числе и AVRISP и AVRISP MKII и JTAG и JTAG ICE MKII и CHIPPROG+ , ну и конечно же любимый многими PONYPROG , ну и т.д.) который бы не работал с указанной ёмкостью. Итог - я не считаю это аргументом.

2) MBR0520L например , или PRLL5817 ( этот менее распространён , да и несколько хуже по всем характеристикам ) .

3) Ну и в чём проблема ? Всё в рамках закона .
Падение на MBR0520L при температуре -25 градусов !!! ( самый, самый худший случай ) 0,28 вольта .
При обычных условиях и того лучше - 0,22 вольта и с увеличением температуры ещё падает . Имеем : 1,8 х 0,9 =1,62 вольта ; 1,8 х 0,2 =0,36 вольта . 1,9-0,28 =1,62 !!! 0,36 > 0,28 !!! И это при самых худших условиях !!!
Какие у вас ещё аргументы ?

Что касается последнего вопроса , то ответ краток - гораздо лучшую помехозащищённость по ВЧ .
Попробуете и убедитесь сами .
namelos
Немного оффтопа, но хочется поблагодарить всех за ответы и пожелать Yuriy_AVR поскорей поправиться.
xemul
Цитата(Yuriy_AVR @ Oct 1 2007, 00:30) *
1) 0,1 uF достаточно малая ёмкость , и я ещё не видел ни одного программатора ( включая в том числе и AVRISP и AVRISP MKII и JTAG и JTAG ICE MKII и CHIPPROG+ , ну и конечно же любимый многими PONYPROG , ну и т.д.) который бы не работал с указанной ёмкостью. Итог - я не считаю это аргументом.

Попробуйте отладить какой-нить контроллер с DebugWire с емкостью на сбросе.
Цитата
Что касается последнего вопроса , то ответ краток - гораздо лучшую помехозащищённость по ВЧ .
Попробуете и убедитесь сами .

И откуда же лезут такие помехи? По питанию? Дык питание нужно строить. Из эфира? Тоже решается более другими средствами.
defunct
Цитата(Yuriy_AVR @ Sep 30 2007, 23:30) *
сейчас сильно болеею , отвечу поздже

Вы просто уходите от ответа, на другие вопросы вам ничто не мешало написать километровые ответы.
На самом деле дела обстоят так:
если вдруг попадется AVR способный работать на 27Mhz, то в силу полностью статической логики он будет работать быстрее чем на 16Mhz в 27/16 раз. То что вы воткнули кварц на 27Mhz и чип работал медленнее чем на 16Mhz может свидетельствовать лишь о проблеме с осциллятором либо с самим кварцем, и частота тактирования у вас была не 27Mhz.
Petka
Цитата(Yuriy_AVR @ Oct 1 2007, 00:30) *
3) Ну и в чём проблема ? Всё в рамках закона .

Дело в том, что конденсатор заряжается НЕ мнгновенно и в момент заряда конденсатора напряжение на ресете не будет попадать в рамки положенного для логики.
WHALE
х.. с ним с кварцем,насчет RC цепочки по сбросу хотелось бы понять-она таки нужна или нет?Хотелось
бы услышать мнение гуру,как они формируют сброс.Может,заодно и от резистора избавиться,пулл-апом
обойтись? 07.gif
defunct
Цитата(WHALE @ Oct 1 2007, 17:29) *
насчет RC цепочки по сбросу хотелось бы понять-она таки нужна или нет?

Я так понимаю, что когда включен BOD, то на резете емкость не нужна.
Если BOD'a нет, RC выполняет его роль, но только в одну сторону (power-on reset), и чем больше емкость тем надежней получается "POR".
Если есть кнопка сброс на резете, то емкость хотя бы небольшая нужна.
Yuriy_AVR
Цитата(Petka @ Oct 1 2007, 10:01) *
Дело в том, что конденсатор заряжается НЕ мнгновенно и в момент заряда конденсатора напряжение на ресете не будет попадать в рамки положенного для логики.

А супервизор срабатывает мгновенно ? sad.gif Типичное время срабатывания супервизора при заданном вами напряжении 1,8 вольт составляет порядка нескольких микросекунд . Время заряда ёмкости до напряжения питания определяется как t=0,9RC ( для вывода сброса ) , т.е. при номиналах , указанных мной , составляет порядка 90 микросекунд . Я , например , при программировании использую время запуска тактового генератора 64 микросекунды . Т.е. время зарядки ёмкости сопоставимо с запуском тактового генератора и при появлении активного уровня сброса , генератор работает уже стабильно .
При применении внешнего супервизора необходимо выставлять минимальное время запуска генератора , иначе , если время запуска генератора выставлено большим , то применение внешнего супервизора с малым временем срабатывания приведёт к ситуации когда тактовый генератор ещё не запустился , а сброс уже находится в активном состоянии . Вот это и называются грабли . . .
А что собственно будет с процессором , если микросекунд эдак 30-50 на выводе сброса будет неопределённое состояние ? Да ничего собственно и не будет . . . Затем достигнет порога логической 1 и всё зашуршит на ура .

Цитата(defunct @ Oct 1 2007, 18:50) *
Я так понимаю, что когда включен BOD, то на резете емкость не нужна.
Если BOD'a нет, RC выполняет его роль, но только в одну сторону (power-on reset), и чем больше емкость тем надежней получается "POR".
Если есть кнопка сброс на резете, то емкость хотя бы небольшая нужна.

Вообще то мой взгляд на проблему таков : Быстрое нарастание активного состояния на выводе сброса при запускающемся тактовом генераторе ( но ещё не запустившемся окончательно ) очень плохо .
Именно поэтому я применяю следующую схему : питание на супервизор подаётся через интегрирующую RC цепочку . Диод MBR0520L включён анодом к сбросу и катодом соответственно к питанию . Параллельно диоду резистор 1 К ( супервизор с внутренним резистором в десятки килоом ) .
Интегрирующая цепочка обеспечивает задержку включения для гарантированного запуска генератора + обеспечивает фильтрацию по питанию . Если включён внутренний BOD я всё равно рекомендую ставить ёмкость с резистором .
Вообще я совсем не сторонник применения RC в качестве BOD . В качестве подтяжки сброса и дополнительного фильтра да , но не иначе . И вообще я не сторонник большого значения ёмкости - всё должно быть без фанатизма . Приведённые мной значения кажутся мне оптимальными .

Цитата(WHALE @ Oct 1 2007, 17:29) *
х.. с ним с кварцем,насчет RC цепочки по сбросу хотелось бы понять-она таки нужна или нет?Хотелось
бы услышать мнение гуру,как они формируют сброс.Может,заодно и от резистора избавиться,пулл-апом
обойтись? 07.gif

пулл-апом обойтись неполучится - слишком большое значение сопротивления

Цитата(defunct @ Oct 1 2007, 01:34) *
Вы просто уходите от ответа, на другие вопросы вам ничто не мешало написать километровые ответы.
На самом деле дела обстоят так:
если вдруг попадется AVR способный работать на 27Mhz, то в силу полностью статической логики он будет работать быстрее чем на 16Mhz в 27/16 раз. То что вы воткнули кварц на 27Mhz и чип работал медленнее чем на 16Mhz может свидетельствовать лишь о проблеме с осциллятором либо с самим кварцем, и частота тактирования у вас была не 27Mhz.

От ответа не ухожу , привык сдерживать свои слова . Но чтобы небыло bb-offtopic.gif заведу специальную тему , но несколько поздже , уж пожалуйста извените . Коротко написать не получится . rolleyes.gif

Цитата(namelos @ Sep 30 2007, 23:39) *
Немного оффтопа, но хочется поблагодарить всех за ответы и пожелать Yuriy_AVR поскорей поправиться.

Большое спасибо

Цитата(xemul @ Sep 30 2007, 23:49) *
Попробуйте отладить какой-нить контроллер с DebugWire с емкостью на сбросе.

И откуда же лезут такие помехи? По питанию? Дык питание нужно строить. Из эфира? Тоже решается более другими средствами.


Бр.....рррр. Стоять ! ! ! Мухи отдельно , котлеты отдельно . Мы говорим о сбросе или о DebugWire ?
Как говорит мой знакомый Одессит - это разные вещи . Когда DebugWire , то естественно ёмкость - лишняя деталь , но когда DebugWire это прототип , то на нём ёмкость не столь критична .

Про необходимость качественного питания и разводки я упоминал отдельно .
"Из эфира? Тоже решается более другими средствами."
Хотелось бы знать какими ?
Попробуйте для начала пощёлкать рядом с AVRом люминесцентной лампой , ватт на 40 - 60 ( хорошо бы при этом стартерок неновенький ) . И тогда мы с вам и продолжим разговор . a14.gif
А вы теоретик или практик , простите за любопытство ?
defunct
Цитата(Yuriy_AVR @ Oct 1 2007, 23:04) *
Если включён внутренний BOD я всё равно рекомендую ставить ёмкость с резистором .

Ваши взгляды расходятся со взглядами Atmel. Atmel рекомендует устанавливать start-up time наиболее коротким когда используется BOD, RC цепь лишь только внесет задержку, в итоге в MCUCSR получим букет признаков сброса - POR/BOD/RESET.
Цитата
Вообще я совсем не сторонник применения RC в качестве BOD .

Обратите внимание, выше я отметил, что RC может обеспечить только одну функцию - power-on-reset, но никак не полностью заменить функциональность BOD. BOD обеспечивает сброс как при нарастании так и при спаде напряжения питания.
xemul
Цитата(Yuriy_AVR @ Oct 2 2007, 00:04) *
Бр.....рррр. Стоять ! ! ! Мухи отдельно , котлеты отдельно .

Стою, боюсь smile.gif
Цитата
Мы говорим о сбросе или о DebugWire ?
Как говорит мой знакомый Одессит - это разные вещи . Когда DebugWire , то естественно ёмкость - лишняя деталь , но когда DebugWire это прототип , то на нём ёмкость не столь критична .

Я и в серийных коробочках на АВР с dW не обрезаю себе возможность отладки "в поле" предлагаемым Вами способом. dW в серийной прошивке, естесно, запрещается, ресет остается на внутреннем пуллапе.
Можно продолжать бороться с бедами контроллеров 5-10-летней давности, но за прошедшее время потроха контроллеров слегка изменились. В частности, АВР могут в большинстве случаев вполне успешно обходиться без внешнего супервайзера. Оставшиеся случаи стОит рассматривать отдельно.
Цитата
Про необходимость качественного питания и разводки я упоминал отдельно .
"Из эфира? Тоже решается более другими средствами."
Хотелось бы знать какими ?

Да вполне обычными - если со смехотехникой (в том числе, с выбором контроллера, соответствующего условиям эксплуатации) все в порядке, остается трассировка платы и разумное конструктивное исполнение.
Цитата
Попробуйте для начала пощёлкать рядом с AVRом люминесцентной лампой , ватт на 40 - 60 ( хорошо бы при этом стартерок неновенький ) . И тогда мы с вам и продолжим разговор . a14.gif

Попробуйте не таскать шнурок на ногу сброса через всю плату. Или попробуйте для продолжения разговора пощёлкать рядом с AVRом люминесцентной лампой, отрезав этот шнурок под корень (т.е. по сбросу ничего, кроме внутреннего пуллапа), и отследить причину сброса. Если будет что-то кроме POR...
Странна сама постановка вопроса. Исполнение платы или соответствует ЭМ обстановке, или не очень. Если последнее, то Вы о чем?
Цитата
А вы теоретик или практик , простите за любопытство ?

Я практикующий лекарь, по совместительству художник.
CD_Eater
Цитата(Yuriy_AVR @ Oct 2 2007, 00:04) *
Вообще то мой взгляд на проблему таков : Быстрое нарастание активного состояния на выводе сброса при запускающемся тактовом генераторе ( но ещё не запустившемся окончательно ) очень плохо .

Не могли бы пояснить, почему Вы так думаете?
namelos
Не хочется заводить новую тему, но раз зашел разговор о супервайзерах. Возник вопрос: а если плате используется несколько контроллеров, то для каждого контроллера необходим свой супервайзер или можно обойтись одним для всех?
Спасибо заранее.
SasaVitebsk
Интересная деталь. Может быть поможет вам в споре.
Если установить на ногу сброса резистор 10к и ёмкость 0.1mkf на землю, то при первом программировании что-то происходит, и микросхема больше не отвечает. Проверено многократно на нескольких программаторах и на JTAG ICE MKII. Речь идёт только о микросхемах atmega48/88. На других с таким глюком не сталкивался. Если её первый раз зашить (откинув ёмкость), то в последующих разах - всё отлично программится. Исследований никаких не проводил с этим делом. Нет денег и времени на это.

Мы делали запрос на Atmel в самом начале пути и в рекомендациях Atmel отсутствует ёмкость на ресете. Рекомендуется резистор или перемычка на питание.
_Pasha
Цитата(SasaVitebsk @ Nov 29 2007, 15:19) *
Интересная деталь. Может быть поможет вам в споре.

Мне кажется, это как-то перекликается с doc2545.pdf p.358 (Part may hang in reset)
Flasher
Поддерживаю. Только при таком подходе языки высокого уровня немного ускорят разработку ПО. к тому же все равно если приходится закручивать очень много винтиков то шуруповерт будет гораздо предпочтительнее отвертки.
AndreyKeil
Цитата(defunct @ Sep 28 2007, 15:35) *
... Считаю, что конечный продукт на AVR с отключенным WDT - дилетанство, такое же как если в изделии оставить чип в отладочном режиме (фуз OCDEN).


Не могли бы мне обьяснить назначение фуза OCDEN. Вроде бы официальное название его "разрешение отладки", но при любом значении, отладка по JTAGу всегла работает.
И почему плохо оставлять этот фуз включенным (OCDEN=0, как я понял)?
defunct
Цитата(AndreyKeil @ Jan 31 2008, 23:17) *
Не могли бы мне обьяснить назначение фуза OCDEN. Вроде бы официальное название его "разрешение отладки", но при любом значении, отладка по JTAGу всегла работает.
И почему плохо оставлять этот фуз включенным (OCDEN=0, как я понял)?

Работает JTAG, но например войдя в режим PowerSafe/PowerDown работа JTAG'a прекратится и вы словите "связь с чипом потеряна".

С включенной отладкой (OCDEN==0) такого не произойдет, т.к. режимы энергосбережения будут просто эмулироваться, цитата из даташита:

If the On-chip debug system is enabled by the OCDEN Fuse and the chip enter Power
down or Power save sleep mode, the main clock source remains enabled. In these
sleep modes, this will contribute significantly to the total current consumption.


Кроме того, включение OCDEN для некоторых AVR'ок подключает регистр OCDR (регистр для общения с отладчиком из отлаживаемой программы). Через этот регистр printf'ом можно выводить сообщения в консоль отладчика. Если вы пользуетесь IAR'овским компилятором и отладчиком, то вероятно уже сталкивались с "Terminal I/O" (и можете себе представить насколько без него хуже). smile.gif

Цитата из даташита:

The OCDR Register provides a communication channel from the running program in the
microcontroller to the debugger. The CPU can transfer a byte to the debugger by writing
to this location.
At the same time, an Internal Flag; I/O Debug Register Dirty – IDRD – is
set to indicate to the debugger that the register has been written. When the CPU reads
the OCDR Register the 7 LSB will be from the OCDR Register, while the MSB is the
IDRD bit. The debugger clears the IDRD bit when it has read the information.
In some AVR devices, this register is shared with a standard I/O location. In this case,
the OCDR Register can only be accessed if the OCDEN Fuse is programmed
, and the
debugger enables access to the OCDR Register. In all other cases, the standard I/O
location is accessed.
Refer to the debugger documentation for further information on how to use this register.



Итого с включенным OCD потребление всегда высокое, потребление больше чем обычно и имеется дырка для скачивания вашей прошивки из чипа. Стоит ли оставлять OCD включенным? Вывод можете сделать сами, а можно опять же довериться цитате из даташита:

Never ship a product with the OCDEN Fuse programmed regardless of the setting of
Lock bits and the JTAGEN Fuse.
A programmed OCDEN Fuse enables some parts of
the clock system to be running in all sleep modes. This may increase the power
consumption.
Дон Амброзио
Цитата(namelos @ Sep 25 2007, 15:38) *
В целях защиты хотелось бы заполнить сводное место Flash-памяти "rjmp 0"

Защиты от чего? 07.gif
galjoen
Цитата(xemul @ Oct 2 2007, 00:44) *
Можно продолжать бороться с бедами контроллеров 5-10-летней давности, но за прошедшее время потроха контроллеров слегка изменились. В частности, АВР могут в большинстве случаев вполне успешно обходиться без внешнего супервайзера.

+1
У меня так всё и сделано (без супервайзера). Я решил, что если уж атмел может процессоры делать, в которых мульён транзисторов, то уж супервайзер, в котором и два десятка транзисторов не наберётся, он туда уж точно какой надо запихнул.
Цитата(xemul @ Oct 2 2007, 00:44) *
Попробуйте не таскать шнурок на ногу сброса через всю плату. Или попробуйте для продолжения разговора пощёлкать рядом с AVRом люминесцентной лампой, отрезав этот шнурок под корень (т.е. по сбросу ничего, кроме внутреннего пуллапа), и отследить причину сброса. Если будет что-то кроме POR...

У меня процессор все логи, в т.ч. своё включение (от чего он сбросился) во FLASH пишет. А я потом эту FLASH как Mass Storage читаю. FLASH не быстрее чем за месяц заполняется. Так вот, ничего кроме PORF и BORF, я там не видел! А я всегда за этим следил. Вообще то я там WDRF искал и не находил smile.gif . А обстановка с помехами там ещё та! Недалеко 6 кВ 1кА. И всё это тиристорами коммутируется.

Щас пошёл - RESET на землю коротнул. Лог посмотрел. Всё как положено - EXTRF появился!
Дон Амброзио
Цитата(galjoen @ Feb 11 2008, 22:04) *
+1
У меня так всё и сделано (без супервайзера). Я решил, что если уж атмел может процессоры делать, в которых мульён транзисторов, то уж супервайзер, в котором и два десятка транзисторов не наберётся, он туда уж точно какой надо запихнул.

У меня процессор все логи, в т.ч. своё включение (от чего он сбросился) во FLASH пишет. А я потом эту FLASH как Mass Storage читаю. FLASH не быстрее чем за месяц заполняется. Так вот, ничего кроме PORF и BORF, я там не видел! А я всегда за этим следил. Вообще то я там WDRF искал и не находил smile.gif . А обстановка с помехами там ещё та! Недалеко 6 кВ 1кА. И всё это тиристорами коммутируется.

Щас пошёл - RESET на землю коротнул. Лог посмотрел. Всё как положено - EXTRF появился!

Вопрос по регистру MCUSR
Кому приходилось пользоваться флагами из регистра MCUSR?
Возьмем для примера tiny15. Рис.14 на стр.15 его описания. (rev.1187D-12/01)
Мне нужно, чтобы при включении питания не устанавливался флаг EXTRF.
На сколько может быть задержан фронт reset относительно фронта VCC, чтобы этот флаг не устанавливался? И каким внутренним сигналом происходит запись в регистр MCUSR?
На этой же странице написано, что сигнал reset гарантированно распознается, если его длительность превышает 500нс. При максимальном сопротивлении подтягивающего резистора 122кОм и входной емкости вместе с емкостью монтажа порядка 4пФ постоянная времени входной цепи уже как раз 500нс. Т.е. при таком раскладе получается, что при включении питания всегда будут устанавливаться два флага PORF и EXTRF. А для улучшения помехозащищенности рекомендуется еще шунтировать вход reset емкостью...
Судя по логике текста описания, если длительность сигнала reset будет меньше 500нс, то он все равно может быть распознан, хотя и не гарантированно.
Непонятно также с флагом BORF, если включена схема Brown-out. Поскольку порог срабатывания этой схемы больше, чем у схемы Power-on, то при включении питания она сработает позже и флаг BORF тоже может оказаться установленным.
Как же при всем при этом идентифицировать причину сброса?
galjoen
Цитата(Дон Амброзио @ Feb 11 2008, 23:34) *
Мне нужно, чтобы при включении питания не устанавливался флаг EXTRF.

Из практики (ATmega64 и AT90CAN128) знаю, что EXTRF и как никогда не устанавливается (я RESET ни к чему не подсоединял). Но если что, его ведь сбросить всегда можно (и нужно). Я когда MCUCSR читаю (в числе первых 10 команд), после этого его сразу-же его сбрасываю (все флаги). Чтоб в следующий раз знать от чего сброс произошел.
Цитата(Дон Амброзио @ Feb 11 2008, 23:34) *
Непонятно также с флагом BORF, если включена схема Brown-out. Поскольку порог срабатывания этой схемы больше, чем у схемы Power-on, то при включении питания она сработает позже и флаг BORF тоже может оказаться установленным.

BORF иногда устанавливается. Если при включении дребезг контакта выключателя был. Напряжение питания увеличивалось-уменьшалось (кругом кондёры стоят).
Цитата(Дон Амброзио @ Feb 11 2008, 23:34) *
Как же при всем при этом идентифицировать причину сброса?

А вот так и идентифицировать.PORF=0 значит что-то не так. А что - другие флаги показывают. Но лучше всего опытным путём всё это проверить. Я проверял!

А вообще это bb-offtopic.gif .
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.