Страница 1 из 1
МК AVR задержка через TCNT0
Добавлено: Ср фев 22, 2012 09:16:47
KekZzz
Народ привет. Начинаю изучать МКашки, нашелинтересную книгу Д.Мортона по AVR'ам. Тут прога бегущий огонь с регулирование скорости с 0.1с до 1с. В counter заносится 1-10 для выбора требуемой задержки; mark240 - маркер для организации задержки в 0.1 (тактовая частота 2.4ггц). Собственно вот фрагмент:
Timer:
in temp,TCNT0
cp temp,mark240
brne timer
subi mark240,-240
dec counter
rjmp start
Я не могу понять зачем прибавлять к маркеру число "240" каждый раз по достижении таймером "240"

объясните пожалуйста. Спасибо!)
Re: МК AVR задержка через TCNT0
Добавлено: Ср фев 22, 2012 09:38:15
ploop
тактовая частота 2.4ггц
А что за AVR-ка с такой частотой, если не секрет?
Я не могу понять зачем прибавлять к маркеру число "240" каждый раз по достижении таймером "240"

объясните пожалуйста. Спасибо!)
Прибавляется минус 240, т.е. вычитается 240. Это такой сброс таймера.
На самом деле код чисто для обучения, в реальном проекте такое использовать - глупость, т.к. у таймера есть несколько режимов работы, например сброс по совпадению.
Re: МК AVR задержка через TCNT0
Добавлено: Ср фев 22, 2012 13:42:33
KekZzz
по моему у 90s1200 2.4 ггц.
subi разве не вычитает?
SUBI - вычесть непосредственное значение.
- (-240) будет плюс.
Так как лучше реализовать задержку используя/не используя таймер?
"сброс по совпадению", а что еще?
И какие реально толковые книги можно еще почитать?=)
Re: МК AVR задержка через TCNT0
Добавлено: Пн мар 05, 2012 10:43:27
KekZzz
Ап! Вопрос еще открыт!
Re: МК AVR задержка через TCNT0
Добавлено: Пн мар 05, 2012 10:52:25
SubDia
Во-первых, максимальная частота у 90s1200 - 12 МГц (и то, у 90s1200-12). Во-вторых, учитывая незнание режимов работы таймеров, а также п.1, можно сделать вывод, что в даташит Вы даже не заглядывали. Этим и озаботьтесь для начала.
А в плане книг гугл поможет. Он не помогает только тем, ко не ищет.
Re: МК AVR задержка через TCNT0
Добавлено: Пн мар 05, 2012 13:10:11
KekZzz
Tcnt может работать как таймер и как счетчик что следует из названия. настраивается регистром tccr (частота для таймера и изменение счета по фронтам для счетчика). И чего же я не знаю? Да и кстати я думал этот раздел для того чтобы задавать вопросы и получать на них ответы. По крайней мере это написано в описании раздела.
Re: МК AVR задержка через TCNT0
Добавлено: Пн мар 05, 2012 13:33:07
SubDia
---------оффтоп, можно не читать-------------
KekZzz писал(а):Да и кстати я думал этот раздел для того чтобы задавать вопросы и получать на них ответы.
А я думал, что прежде чем задавать вопросы, нужно самостоятельно хотя бы документацию от производителя изучать.
Ладно, проехали.
----------------------------------------------------
По поводу команды subi
subi mark240,-240
Там, очевидно, применяется декремент (dec), отсюда и прибавление. Но приемчик странноват, откровенно говоря.
И насчет вопроса "использовать/не использовать таймер для задержек" - конечно же лучше использовать.
ЗЫ. За резкость тона не забижайтесь.
Re: МК AVR задержка через TCNT0
Добавлено: Пн мар 05, 2012 13:43:20
hybroid
SubDia писал(а):и тебе все разжевали. Красота!
"Даташиты на распространённые МК в кратком изложении для лентяев" Издание второе, дополненное бабушками на лавочках.

Re: МК AVR задержка через TCNT0
Добавлено: Пн мар 05, 2012 13:54:21
SubDia
hybroid, да я тоже неправ - нельзя так сразу на людей. "С людями надо быть помягше, а на вопросы смотреть ширше".
ЗЫ. Но даташиты при этом не забывать читать.

ЗЗЫ. Топикстартеру - насчет книжек - если асм, то у Вольфганга Трамперта есть две замечательные книги по МК АВР. Названий точно не помню.
Re: МК AVR задержка через TCNT0
Добавлено: Пн мар 05, 2012 13:59:49
hybroid
А меня жуть как бесит, когда начинаются нюни на тему: "А зечем же ещё форум нужен? Я думал тут советуют.. ПАМАГИТЕ блиа, йа весь такой няшный и учусь!!" Хочется взять и
уе.. что-то нехорошее сделать.
SubDia писал(а):нельзя так сразу на людей
А по мне - так ничего плохого в этом нету. Особенно после гигагерц частоты.
Re: МК AVR задержка через TCNT0
Добавлено: Вт мар 06, 2012 01:05:54
Jack_A
hybroid писал(а): Особенно после гигагерц частоты.

Re: МК AVR задержка через TCNT0
Добавлено: Вт мар 06, 2012 05:47:27
KekZzz
МГц) так там же декрементируется каунтер, а суби 240 прибавляет к марку?
Re: МК AVR задержка через TCNT0
Добавлено: Вт мар 06, 2012 10:16:17
SubDia
Собственно, это и хотел уточнить.
А приведите полный исходный текст, если это возможно, и он не шибко велик.
Re: МК AVR задержка через TCNT0
Добавлено: Вт мар 06, 2012 10:46:41
ploop
Там по хитрому выходит: SUBI -240 будет прибавить 240, или вычесть 16 с установкой флага переполнения
