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

 
 
> TNKernel & STM32
hound
сообщение Feb 15 2015, 20:48
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 15-02-15
Пользователь №: 85 179



Добрый вечер, начал работать с TNKernel использую версию 2.7.
Есть один вопрос:
нужно определенную функцию выполнять через некоторое время системных тиков, сейчас реализовал через задачи подобным образом:
Код
#define   REBOOT_START    0x00
#define   REBOOT_UP       0x01
#define   REBOOT_END      0x02

void func_reset(void *par) {
    uint8_t status = REBOOT_START;

  uart-send_string("Start activate modem");
  
  while (1) {
    switch(status_reboot) {
      case REBOOT_START:
        GPIOB->BSRR=GPIO_Pin_1;
        status = REBOOT_UP;
        tn_task_sleep(3000);
        break;
      case REBOOT_UP:
        GPIOB->BRR=GPIO_Pin_1;
        status = REBOOT_END;
        tn_task_sleep(1000);
        break;
      case REBOOT_END:
        send_cmd_device(POWER_UP);
        tn_task_exit(TN_EXIT_TASK);
        break;
    }
  }
}


Т.е. создаю задачу без ее запуска при создании, а потом уже в коде программы, там где нужно запустить/перезагрузить девайс я запускаю эту задачу
Код
tn_task_activate(&task_reset);


Но на сколько это оправданно?
Заранее благодарен за ответ.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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