AT89S53 + WDT - вопрос

Jan 03, 2005 4 Replies

С Новым всех Годом!



Что-то я после праздников не пойму документацию Atmel - есть разночтения между PDF и комментариями в моей старой программе, написанной неск. лет назад. Вопросы:


  1. Есть ли в регистре PCON бит 4, который назван POF (Power On Flag) и который взводится только при включении питания и не изменяется при любых ресетах, включая WDT ?


  1. Является ли WDT-reset полнофункциональным сбросом, который сбрасывает и все SFR в default?

  2. Собственно, конечный вопрос - как в AT89S53 распознать причину перезапуска контроллера - по входу ли RST или по WDT ?

C уважением, Юрий Копылов yuri.kopylov-mail.ru


"Yuri Kopylov" сообщил в новостях следующее:

Проверил на железе - похоже, этот бит (PCON.4 = POR = power on reset) реализован (в отличие от AT89S8252). Может, кому будет это полезно. Как минимум потому, что из-за Errata 89S53 нельзя сразу стартовать и нужно ждать не менее 0.5 сек (иначе режим ISP накроется).

Вопрос снят. Кроме моей старой проблемы - в Keil так и не получилось убрать все встроенное в компилятор обнуление переменных перед запуском main.

C уважением, Юрий Копылов yuri.kopylov-mail.ru

Mon Jan 03 2005 21:32, Yuri Kopylov wrote to Yuri Kopylov:

YK> Вопрос снят. Кроме моей старой проблемы - в Keil так и не получилось YK> убрать все встроенное в компилятор обнуление переменных перед запуском YK> main.

А почему бы STARTUP не почистить ?

Tadas

"Tadas" snipped-for-privacy@takas.lt сообщил/сообщила в новостях следующее:

Startup почистил и скомпилил obj - помогло, спасибо. Заморочка была в другом - не мог понять, что еще за код вставляется - пришлось разбирать ASM. Оказалось, в C-тексте стояла строка "const char a = 17", и Keil честно инициализировал ее в RAM. Переделал на "#define a 17", и весь лишний код ушел, да и RAM освободил заодно.

WBR Юрий

Greetings, Yuri!

Посмотрел я мессагу, посланную Yuri Kopylov к Yuri Kopylov, и решил ответить:

YK> Вопрос снят. Кроме моей старой проблемы - в Keil так и не получилось YK> убрать все встроенное в компилятор обнуление переменных перед запуском YK> main.

Это пpосто - подключаешь к своему пpоекту файл startup.a51 (лежит в каталоге с библиотеками), и пpавишь в нем все что надо.

C наилучшими пожеланиями Ilja aka ИЛ-2 (ilja_vlaskin$mail.ru)

... Ееееежжжжиииииикккк...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required