Ваторопин Андрей

Таймер в RTX Keil

3 сообщения в этой теме

Добрый день форумчане!

Помогите с простым вопросом. Осваиваю таймеры в ОСРВ RTX Keil. 

#include <RTL.h>
#include <stm32f4xx.h>                 
#include "LED.h"

unsigned int LED_Green = 0;
unsigned int LED_Orange = 1;

OS_ID  timer0, timer1; // переменные для таймера

__task void task1 (void); // задача

    
void os_tmr_call (U16 info) // функция вызова по истечении таймера (любого)
{
        switch (info)
        {
            case 1:  LED_On (LED_Green);  LED_On (LED_Orange);             break;   // первый таймер
                                    
            case 2:  LED_On (LED_Green);  LED_On (LED_Orange);          break;  // второй таймер
        }
}

__task void task1 (void) // задача 
{      
    timer1 = os_tmr_create ( 10,2 ); // создаем таймер

    for (;;)
    {        

    }
}


int main (void)
{
  SystemCoreClockUpdate();
  LED_Init ();                              /* Initialize the LEDs */    
   timer0 = os_tmr_create ( 10, 1 );

   os_sys_init(task1);                      /* Initialize RTX and start init */ 
    for (;;);
}

По коду стартуем задачу 1 далее должен сработать любой из таймеров, по истечении вызывается функция os_tmr_call и зажигаются диоды. Но этого не происходит почему то.

Прошу помощи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Yurkin2015    328

Попробуйте добавить строчку для определения максимального количества используемых таймеров. Может оно по умолчанию =0?

#define OS_TIMERCNT 2

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • Глупый ток станет статическим электричеством
    • Вот бы хлебнуть! У нас темного вообще нет. А сколько стоит такое?
    • да не замечал я чет такого. И проекты были объемом под самую крышку. Пугалку какую то изобретаете. ИМХО надо. Просто потому что лишний инструмент в рукаве ни разу не мешает. А вот какой проект писать с ОС а какой нет, это уже совсем другая история так то да, ртос на мелких камнях (даже СТМ) вещ не обязательная, а порой и не нужная. А вот когда пойдут камни с объемом памяти программ 64К, а соответственно подрастет и листинг и функционал кода. Вот тут кодинг без ОС превращается в мазохизм. На 8-битках вы этого не почувствуете просто. Поэтому кошек пока готовить и не умеете с вами не согласятся оооочень многие программисты, в том числе и те, которые писали ОС, дабы избавить себя и своих товарищей от лишних ошибок. И меня лично RTOS еще ни разу не подводила. Опять же вопрос об умении "готовить кошек". Из личной практики - проекты с ОС vs без ОС соотносятся в пропорциях примерно 40/60. То есть инструмент есть и им можно и нужно пользоваться. Тем более что речь идет очень часто о глобальной экономии времени на кодинге. Написать свой диспетчер ресурсов (да еще и без багов и скрытых лагов) далеко не всегда так уж просто
    • Справедливости ради: если бы не штукатурка, кому захотелось бы смотреть по телеку опухшую кухарку...
    • Интересно бы осциллограмму посмотреть на затворах 20n50..на последней схеме.
    • Это они на публичных фото такие красивые. Перед съёмкой штукатурка, покраска... А на каждое такое фото несколько сотен запоротых дублей. Потом еще и фотошопом подчищают и подкрашивают.