|
RESET, Что должно быть на ней? |
|
|
|
May 5 2008, 14:02
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 29-04-08
Пользователь №: 37 157

|
У меня в проекте установлен фьюз BODON (запуск при достижении питания), однако даже с ним схема не всегда удачно стартует. Как повысить стабильность запуска схемы? Может стоит подключить какую-либо внешнюю цепь к выводу reset?
|
|
|
|
|
 |
Ответов
|
May 5 2008, 14:20
|

Участник

Группа: Свой
Сообщений: 63
Регистрация: 13-03-06
Из: Москва
Пользователь №: 15 204

|
Цитата(Kuznec9999 @ May 5 2008, 18:02)  У меня в проекте установлен фьюз BODON (запуск при достижении питания), однако даже с ним схема не всегда удачно стартует. Как повысить стабильность запуска схемы? Может стоит подключить какую-либо внешнюю цепь к выводу reset? Reset стОит подтянуть через резистор 4,7-10к к питанию. Кстати - это может быть проблема не ресета, а запуска генератора (конденсаторов в обвязке кварца нет или не те, остатки флюса около кварца, неправильно выставленные фузы CKSEL,CKOPT etc).
|
|
|
|
|
May 5 2008, 14:40
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 29-04-08
Пользователь №: 37 157

|
Цитата(Vlad219i @ May 5 2008, 18:20)  Reset стОит подтянуть через резистор 4,7-10к к питанию. Кстати - это может быть проблема не ресета, а запуска генератора (конденсаторов в обвязке кварца нет или не те, остатки флюса около кварца, неправильно выставленные фузы CKSEL,CKOPT etc). Дело в том, что генератор внутренний. А при запуске индикатор выдаёт совершенно "нечитабельные" символы. Хотя по динамике их работы видно, что программа всё же работает. Всё-таки инициализировать ОЗУ обязательно. Сейчас буду пробовать. Уверен, дело в этом. Добавил в программу блок инициализации (очистки) ОЗУ, запуск стал корректным даже при отсутствии чего-либо на ножке reset.
Сообщение отредактировал Kuznec9999 - May 5 2008, 15:02
|
|
|
|
|
May 5 2008, 16:41
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Kuznec9999 @ May 5 2008, 18:40)  Всё-таки инициализировать ОЗУ обязательно. Переменные, находящиеся в ОЗУ, инициализировать обязательно, а всё ОЗУ нет. Рекомендую составить подпрограммы инициализации переменных для каждой задачи, и в самом начале их вызывать. Так-же нужна подпрограмма инициализации портов. Только ук-ль стека нужно инициализировать до их вызова. А эти подпрограммы и не при старте потом понадобится могут. Посмотрел вашу программу - впечатлило. Видимо это N1? Ну чтож - всё когда-то новичками были. А вообще всё правильно делаете - с ассемблера и нужно начинать. Только рекомендую какие-нибудь примеры посмотреть что-ли. Особенно интересно смотреть на Код in r18,sreg sbrs r18,1 rjmp init1 Что можно заменить на Код brne init1 А вообще удивительно, что эта программа работает! А разная ерунда на индикатор выводится видимо из-за того, что вы при отсутствии обнуления ОЗУ, видимо и zh не обнуляли.
|
|
|
|
|
May 5 2008, 17:37
|
Участник

Группа: Новичок
Сообщений: 47
Регистрация: 29-04-08
Пользователь №: 37 157

|
Цитата(galjoen @ May 5 2008, 20:41)  Переменные, находящиеся в ОЗУ, инициализировать обязательно, а всё ОЗУ нет. Рекомендую составить подпрограммы инициализации переменных для каждой задачи, и в самом начале их вызывать. Так-же нужна подпрограмма инициализации портов. Только ук-ль стека нужно инициализировать до их вызова. А эти подпрограммы и не при старте потом понадобится могут. Посмотрел вашу программу - впечатлило. Видимо это N1? Ну чтож - всё когда-то новичками были. А вообще всё правильно делаете - с ассемблера и нужно начинать. Только рекомендую какие-нибудь примеры посмотреть что-ли. Особенно интересно смотреть на Код in r18,sreg sbrs r18,1 rjmp init1 Что можно заменить на Код brne init1 А вообще удивительно, что эта программа работает! А разная ерунда на индикатор выводится видимо из-за того, что вы при отсутствии обнуления ОЗУ, видимо и zh не обнуляли. Спасибо за развёрнутый ответ. Нет, это №2  . Кстати, как не странно, работает отлично  . Процедура очистки ОЗУ - в самом начале. Что такое zh?  Что представляет собой инициализация переменных, портов? Извините за множество вопросов. Микроконтроллеры для меня пока - зелёный лес  .
Сообщение отредактировал Kuznec9999 - May 5 2008, 17:40
|
|
|
|
|
May 5 2008, 17:52
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Kuznec9999 @ May 5 2008, 21:37)  Что такое zh? Код clr zh Вот обнуление (zh==r31). Вы командой ld r25,z пользовались, а она адрес из zh и zl берёт. ldi zl,0 вы делали,а ldi zh,0 нет. А в zh случайное число при включении процессора попадало. А всетаки посмотрите как другие-то программы пишут - поучитесь. Это самый лучший способ обучения. Ну и теорию почитайте конечно.
|
|
|
|
Сообщений в этой теме
Kuznec9999 RESET May 5 2008, 14:02 volod_ua Цитата(Kuznec9999 @ May 5 2008, 17:02) У ... May 5 2008, 14:06 uriy А вы уверена что проблема в ресете. Может кварц ви... May 5 2008, 14:15  Vlad219i Цитата(Kuznec9999 @ May 5 2008, 18:40) Вс... May 5 2008, 16:22   Kuznec9999 Цитата(Vlad219i @ May 5 2008, 20:22) Дума... May 5 2008, 16:37     Kuznec9999 Цитата(galjoen @ May 5 2008, 21:52) Кодcl... May 5 2008, 18:15 chds Были такие же гадости - плата могла несколько раз ... May 5 2008, 15:45 galjoen Цитата(chds @ May 5 2008, 19:45) а могла ... May 5 2008, 16:08 domowoj Еще обязательно вблизи МК необходимо поставить кер... May 5 2008, 16:02 vet многобайтные числа нужно инкрементировать по-друго... May 5 2008, 18:41 Kuznec9999 Цитата(vet @ May 5 2008, 22:41) многобайт... May 5 2008, 18:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|