Отговори на тема  [ 5 мнения ] 
ATmega 128 & Timers 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Сря Ное 10, 2004 3:20 pm
Мнения: 19
Мнение ATmega 128 & Timers
Искам да попитам трябва ли преди да се зареди нова стойност в некой от таймерите на ATmega 128 в синхронен режим на работа да се забранява и разрешава след това глобалното прекъсване.

inline void Timer1_Set (u_int Value)
{
cli(); // забранява глобалното прекъсване
TCNT1 = Value;
TIMSK |= _BV(TOIE1); //Прекъсване при препълване
gT1Overflow = 0x00;
sei(); // разрешава глобално прекъсванията
}
В този примерен код необходими ли са cli() и sei() ??????????


Вто Окт 25, 2005 11:56 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 03, 2005 11:31 am
Мнения: 766
Местоположение: Пловдив
Мнение 
Според Atmel да.


Прикачени файлове:
timer.JPG
timer.JPG [ 41.35 KiB | Прегледано 1865 пъти ]
Вто Окт 25, 2005 2:18 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
По принцип, чисто технически - не. Ако обаче тоя таймер предизвиква някви действия, или пък от много прекъсвания може да бъде установен, ти трябва синхроннизация, а тя се постига cli.


Вто Окт 25, 2005 3:12 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 03, 2005 11:31 am
Мнения: 766
Местоположение: Пловдив
Мнение 
За по сигурно "CLI" иначе има да се чуди човек от къде се пръкват разни проблеми.


Вто Окт 25, 2005 6:31 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Окт 28, 2005 3:24 pm
Мнения: 30
Мнение Timers
Ако е таймер 1 или 3, 100% да. Изобщо при достъп да периферията, за четене или запис, 16-битовите данни се четат или пишат в поредни инструкции при забрана на прекъсванията. При операциите участва и един междинен регистър, целта на който е по 8-битовата шина да се прочете/запише 16 битова стойност в един и същи машинен цикъл. Ако между четенето/записа на двата байта на 16-битивата стойност настъпи прекъсване, бозата става пълна.


Пет Окт 28, 2005 4:07 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 12 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни