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

 
 
> Требуется помощь с JacOS, Не могу запустить таймеры
altlogic
сообщение Jan 29 2008, 21:49
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 2-12-06
Из: г. Хабаровск
Пользователь №: 23 035



Здравствуйте!

Следуя примерам из документации на ОС не смог воспользоваться сервисом OS_Delay(). Проект пишу под AVRStudio4. Код у меня примерно следующий:

...
__task void T_1(void)
{
while (1)
{
LCDClear();
LCDPutSR("Привет МИР");
OS_Delay(1000);
}
}
...
int main(void)
{
OS_Init();
OS_Task_Create(T_1, &task1);
OS_Task_Create(T_2, &task2);
TCCR0 = (1 << CS01); // timer tick = 2000 instruction cycles
TIMSK |= (1 << TOIE0);
OS_Ena_Int(); // enable interrupts
DDRC=0xff;
DDRA = 0x00;
LCDInit();
LCDClear();

while (1) {
OS_Scheduler();
}
}

SIGNAL(SIG_OVERFLOW0)
{
OS_Timer_Tick_Set();
OS_Timer();
}

Визуально переключение задач происходит быстрее, чем за 1000мс. Вернее ГОРАЗДО быстрее.
Не могу понять в чём ошибка. Пока принялся за изучение таймеров в WinAVR. До этого с таймерами и прерываниями не работал вообще.

С уважением, Вячеслав.


--------------------
С уважением, Вячеслав
Go to the top of the page
 
+Quote Post



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

 


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


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