реклама на сайте
подробности

 
 
> Подсчет времени задержки
hooky-mars
сообщение Apr 20 2008, 10:08
Сообщение #1





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



Saluer!
Не могу найти инфу как подсчитать время задержки.
На пример, мне на до сделать задежку на 480(примерно) мкс. Частота Atmega8 4 МГц.
Делаю так:
Код
    ldi r17, $F8
    ldi r16, $7F
    call delay
    ..............
delay:
    push r18
    push r19
    in  r18,SREG        
    cli
    out TCNT1H,r17
    out TCNT1L,r16
    sei
    clt
    ldi r19,1
    out TCCR1B,r19    
Dwait:  
    brtc Dwait          
    out SREG, r18
    pop r19
    pop r18
    ret
Tim0int:
    cli                
    set                    
    ldi r19,0            
    out TCCR1B,r19
    sei                  
    reti

Таймер суммирующий.
FFFF(16)-480(10)*4=F87F(16)
Но у меня есть подозрение, что задержка посчиатнна не верно. Подскожите, как правильно её просчитать?

Да! И можно ли в AVRStudio замереять время которое прошло между теми или иными частями кода?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
domowoj
сообщение Apr 20 2008, 10:52
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Если во время задержки процессор ни чем больше не занят, то
лучше всего в п/п задержки делать просто декремент определенного числа,
соответствующ. нужной задержке.

Если уж применяете таймер, то Есть реж. CTC и регистры OCR1x.
Запускаете таймер, в регистр OCR1 - нужное число , "засыпаете" и по прерыванию
от таймера выходите из реж. спячки. Программа короче, а такты выхода из sleep можно учесть.
Или не "засыпаете" , а занимаетесь чем-либо еще.

AVRStudio считает время вып. программы.


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 02:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016