Страница 3 из 4

Re: AVR микроконтроллеры

Добавлено: Вт сен 22, 2015 20:14:54
СКАЗОЧНИК
Бля... почему же я думал, что они за один такт???!!! :facepalm: :facepalm: :facepalm: Дебил бля. Точно посмотрел в справке, за два такта... :oops: :facepalm:

Благодарю.
Точная частота сильно не волнует, главное почему я на 8 делил... вот это была проблема.

Re: AVR микроконтроллеры

Добавлено: Вт сен 22, 2015 20:19:36
Z_h_e
СКАЗОЧНИК писал(а):Благодарю.
Да не за что.
Точная частота сильно не волнует
Судя по коду Вы вроде как с датчиком температуры DS1820 собрались работать, там важны временные интервалы.

Re: AVR микроконтроллеры

Добавлено: Пн окт 05, 2015 10:02:55
CB1
Доброго времени суток! В описании микроконтроллера Atmega8 написано что он может работать при частотах 0-16МГц http://www.gaw.ru/html.cgi/txt/ic/Atmel ... tmega8.htm . Если я использую внутренний генератор тактовой частоты, то в прошивке можно задавать любую частоту из этого предела или нужно задавать какие то фиксированные значения частоты?

Re: AVR микроконтроллеры

Добавлено: Пн окт 05, 2015 10:04:32
ARV
"в прошивке" (вы, наверное, имели ввиду "в программе"?) нужно указывать ту частоту, на которой МК будет работать в реальности.

Re: AVR микроконтроллеры

Добавлено: Пн окт 05, 2015 10:07:23
СКАЗОЧНИК
CB1 писал(а):Если я использую внутренний генератор тактовой частоты, то в прошивке можно задавать любую частоту из этого предела или нужно задавать какие то фиксированные значения частоты?
Фиксированные. 1, 2, 4, 8 МГц.
Работать на 16 МГц или другой будет от внешнего кварцевого резонатора. А также от любого генератора. или от внешней RC цепочки.

Re: AVR микроконтроллеры

Добавлено: Пн окт 05, 2015 10:13:10
CB1
Спасибо за ответ! Получается при использовании внутреннего генератора максимальная частота будет 8МГц?

Re: AVR микроконтроллеры

Добавлено: Пн окт 05, 2015 10:17:16
СКАЗОЧНИК
Да. :roll: Еще ее можно подстраивать в некоторых приделах. Процента на 2 где-то.

В других микроконтроллерах, могут быть и другие диапазоны, у АТтини13, например есть 9,6 МГц. :)

Re: AVR микроконтроллеры

Добавлено: Пн окт 05, 2015 10:20:07
Z_h_e
The calibrated internal RC Oscillator provides a fixed 1.0MHz, 2.0MHz, 4.0MHz, or 8.0MHz
clock.
Кроме того почитайте про регистр OSCCAL и обратите внимание что контроллер загружает его при старте для частоты 1МГц. Для других частот его надо загружать ручками. Хотя я этого не делал (по незнанию) и UART все равно работал без сбоев, а он привязан к временным интервалам.

-------------------
Подстройка может быть до 200%, но изменение частоты более 10% не гарантирует запись EEPROM и FLASH

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 09:38:29
СКАЗОЧНИК
Доброго всем дня!
Очередной вопрос у меня возник... Собрал я термометр (термостат) на ТИНИ2313 и 7-сегментном четырехразрядном индикаторе и DS18B20. Прошивку писал всю сам. И все работает, температуру показывает, нагрузку включает, настройки в ЭСППЗУ сохраняет.
Но! Проблема в том, что включается через раз. втыкаешь к нему 12 Вольт, и запускается только со второго, а то и больше количества раз.
Цепь сброса RESET стоит (резистор и конденсатор), как и везде.
Еще не сталкивался с такой хренью.
Мало того, спаял второй такой термометр - аналогичная хрень, но там я вместо цепи сброса поставил СУПЕРВИЗОР на 4,5 Вольта!!!
Ничего не понимаю. Чего еще можно сделать? :kill:

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 09:49:00
Z_h_e
СКАЗОЧНИК, ну что же Вы? Ни схемы, ни кода. На такой вопрос можно только ответить - у Вас где-то ошибка.

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 10:00:05
СКАЗОЧНИК
Так там и схемы то нет как таковой.... Всего три детальки. ))) А код - работает, но могу и выложить.

З.Ы. Сейчас поставлю Протеус и нарисую схему.
Хм... может быть и в коде.. Если прерывания гонят...

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 10:07:06
Z_h_e

Код: Выделить всё

---------- начальные значения переменных, массивы ---------------------------
			  
			  		;	0	  1     2     3     4     5     6     7     8     9     o     -           C	     
			Cifri: .db 0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xF6, 0xC6, 0x02, 0x00, 0x9C
					;	0	  1		2	  3		4	  5		6	  7		8	  9	    10	  11	12	  13	

;           ----- конфигурация прерываний, стека, аналогового компаратора, таймеров -----
Вот это у Вас зачем прямо в исполняемом коде? Контроллер их как некие команды обработает. Если так важно поставить в этом месте, перепрыгните RJMP ом этот массив.

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 10:08:39
СКАЗОЧНИК
Хорошо, что у меня дома есть экземпляр этого термометра. Щаз буду пробовать переносить и перепрошивать.
Убрать в конец? (Раньше на это не часы, не мигалки, ни этот термометр не жаловались...)

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 10:13:32
Z_h_e
Поставте туда, где удобно. Лишь бы контроллер не пробовал выполнять массив как программу.


-------------------
СКАЗОЧНИК писал(а):(Раньше на это не часы, не мигалки, ни этот термометр не жаловались...)
Повезло просто. Запустите программу в симуляторе Студии. Откройте окно дизаземблера и выполняйте пошагово. И Вам сразу понятно будет что Вы натворили вставив некий массив в тело исполняемого кода.

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 10:24:48
СКАЗОЧНИК
Почему-то, когда втыкаю программатор и запитываюсь от него, то работает без проблем... :dont_know: Даже если включать и отключать - запускается всегда.

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 10:40:53
Z_h_e
Z_h_e писал(а):Поставте туда, где удобно.
Но только чтобы адреса (Cifri*2) и (Cifri*2+12) находились в одной странице флеш памяти кратной 256 байт, раз Вы в "условии типа КЭЙС" ZH не считаете. Может так оказаться что начало массива находится в одной странице, а конец в другой.

Или же после add ZL, RAZ1 прибавте к ZH флаг С. Тогда за местоположение массива в памяти не надо будет переживать.
СКАЗОЧНИК писал(а):Почему-то, когда втыкаю программатор
Ошибок может быть и не одна. И в схеме тоже могут быть.

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 11:27:09
СКАЗОЧНИК
Вот схема.. в протеусе не работает вообще нихрена. Ненавижу его.
По питанию стоит ещестабилизатор 78L05.
Кнопку сброса я сам только что нарисовал (на плате ее нету).
Два индикатора потому, что в схеме у меня нарисован с общим катодом, а в протеусе отказывается работать. :dont_know: :facepalm:

ЗЫ в любом случае склоняюсь, что косяк в программе.

З.З.З. Ну надо же А! Точно, из-за этого массива все страдало херней. Всего лишь его перенес за главный цикл и все. Включается без проблем. :)
Списибо Вам, Z_h_e! Очень признателен!

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 11:41:30
Z_h_e
Ну а код то исправленный где?
-------------
Ну раз заработало, то не надо. Не забудте про регистр ZH

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 11:43:35
СКАЗОЧНИК
Вот он. :))) Только в Протеусе все равно не заработал, но в железе пашет прекрасно. :)))

А как в Студии запустить дизассемблер?

Re: AVR микроконтроллеры

Добавлено: Сб окт 24, 2015 11:51:29
Z_h_e
Я в 4ой давно не работал. Возможно запустить симуляцию, и пока симуляция на паузе открыть окно дизаземблер. Оно наверное там же где прочие окна, память, регистры и т.д.