AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
28.09.2012, 17:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,448
Сказал спасибо: 96
Сказали Спасибо 319 раз(а) в 233 сообщении(ях)
|
Re: Контроллер виснет при включении
Сталкивался с непонятными глюками при подаче питания. В основном на мегах 32 и 64.
На 32 меге (основной контроллер) частенько при подаче питания выдавало ошибки датчиков (тиньки по RS-232). При детальном изучении было выяснено, что меняется скорость обмена данными по 232 интерфейсу. Причём именно на меге. Это несмотря на то, что использовался кварц.
Ошибки выдавались на LCD дисплей. То есть, намертво ничего не зависало, но каким-то чудом менялась частота тактирования. Возможно, переключалось на внутреннее тактирование или ещё чего.
Проблема была решена фьюзами. На самое продолжительное Start-up time.
На 64 меге тоже были глюки. Именно в момент подачи питания. Детально не разбирался, по старой памяти фьюзами выставил максимальное время старта, а также задействовал BOD. Глюки если и остались, то стали крайне редкими (тьфу-тьфу-тьфу).
|
|
|
|
28.09.2012, 18:48
|
|
Гражданин KAZUS.RU
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
|
Re: Контроллер виснет при включении
omercury, кварц 16 МГц, start up time - 64 ms.
|
|
|
|
28.09.2012, 19:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,448
Сказал спасибо: 96
Сказали Спасибо 319 раз(а) в 233 сообщении(ях)
|
Re: Контроллер виснет при включении
Сообщение от putmannn
|
omercury, кварц 16 МГц, start up time - 64 ms.
|
SKOPT включен?
|
|
|
|
28.09.2012, 20:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Контроллер виснет при включении
Сообщение от Godzilla82
|
SKOPT включен?
|
CKOPT
Должен быть запрограммирован ("0") для максимального усиления генератора. см. стр27 ДШ.
Если BOD отключен, SUT1...0 должны содержать 0b11 , если включен, то 0b01.
BODLEVEL лучше сбросить - запрограммировать.
Таким образом младший FUSE должен содержать значение 0b00011111 для включенного BOD и 0b11111111 для выключенного.
Старший в обоих случаях 0bххх0хххх.
Хотя у меня на 12МГц на USB (питание 5в) неплохо работает с BOD=2,5в без CKOPT.
|
|
|
|
28.09.2012, 20:58
|
|
Гражданин KAZUS.RU
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
|
Re: Контроллер виснет при включении
Я к сожалению в этих битах не понимаю, пользуюсь вкладкой фьюзов AVR студии.
Вот так у меня выставлено, если не сложно подскажите где поставить галочку, а где убрать. Спасибо.
Оффтоп.
Слышал краем уха, что можно как то в настройках сделать поправки и команда RJMP будет охватывать всё адресное пространство, а то иногда не хватает длины перехода, приходится делать промежуточные.
Последний раз редактировалось putmannn; 28.09.2012 в 21:01.
|
|
|
|
28.09.2012, 21:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,448
Сказал спасибо: 96
Сказали Спасибо 319 раз(а) в 233 сообщении(ях)
|
Re: Контроллер виснет при включении
Сообщение от omercury
|
Хотя у меня на 12МГц на USB (питание 5в) неплохо работает с BOD=2,5в без CKOPT.
|
For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and
16 MHz with CKOPT programmed.
putmannn, BOOT убери (если у тебя не используется загрузчик), если 16 МГц, то CKOPT надо установить.
Последний раз редактировалось Godzilla82; 28.09.2012 в 21:05.
|
|
|
Сказали "Спасибо" Godzilla82
|
|
|
28.09.2012, 21:04
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Контроллер виснет при включении
Сообщение от putmannn
|
Слышал краем уха, что можно как то в настройках сделать поправки и команда RJMP будет охватывать всё адресное пространство, а то иногда не хватает длины перехода, приходится делать промежуточные.
|
Врут. Нет такой настройки для команды rjmp.
|
|
|
|
28.09.2012, 21:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Re: Контроллер виснет при включении
Сообщение от putmannn
|
а то иногда не хватает длины перехода, приходится делать промежуточные.
|
Не знал, что промежуточные переходы лучше просто команды JMP. Она то сразу в любое место скачет.
Добавлено: Невнимательно я тему прочитал, извините. Mega32/64 упоминали не вы, для вашего M8 только RJMP и IJMP.
Последний раз редактировалось lsa; 28.09.2012 в 21:25.
|
|
|
|
28.09.2012, 21:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Контроллер виснет при включении
Сообщение от putmannn
|
где поставить галочку, а где убрать.
|
Щёлкай, чтоб стало 0x1F
Сообщение от putmannn
|
Слышал краем уха
|
Соврали.
Команда rjmp работает на расстоянии 2kb, jmp на всю длину, правда первая выполняется за 1 такт, а вторая за 2.
Та же пестня с rcall и call.
|
|
|
|
28.09.2012, 21:33
|
|
Гражданин KAZUS.RU
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
|
Re: Контроллер виснет при включении
omercury, rjmp никак не 2 кб, я буквально по листингу не могу ниже 3-х экранов прыгнуть, если команда кодируется 2-мя байтами, то там наверное -127 шагов и +128 можно.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:03.
|
|