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

 
 
> uOS и MultiCore, Как это должно работать ?
Digi
сообщение Feb 21 2018, 12:13
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 20-08-04
Пользователь №: 529



Пытаюсь запустить несколько различных задач на uOS которая поставляется совместно с пакетом MCStudio, но работает не так как ожидалось.

Собственно никакой многозадачности не наблюдаю. Работает только та задача у которой наивысший приоритет. (В данном случае task ).

Что я хотел получить: должны мигать три светодиода, и по приходу данных с UART должен заходить в обработчик uart_intr_hdl.

Вроде как такая конструкция на RTOS STM32 работает корректно, но тут, на uOS никак не желает.

Что я делаю не так ???


Код
bool_t uart_intr_hdl(void *arg)
{
    ch = get_received_byte(1);
    LedTgl(1);
    return 1;
}

void task1 (void *arg)
{
    for(;;)
    {
        LedTgl(8);
        udelay(30000);
    }
}

void task2 (void *arg)
{
    for(;;)
    {
        LedTgl(4);
        udelay(40000);
    }
}



void task (void *arg)
{
    setup_baud_rate (1, KHZ, 115200);

    mutex_lock_irq (&receiver, RECEIVE_IRQ (1), &uart_intr_hdl, 0);
    enable_receiver (1);
    enable_receive_interrupt (1);

    transmit_byte(1, '*');

    for (;;)
    {
        udelay(50000);
        LedTgl(2);
    } // for(;;)
}




void uos_init (void)
{
    SYS_REG.CLK_EN.data = 0xFFFFFFFF; // включение тактовой частоты  _init_ включает только минимум частот

    LedInit();
    MFBSP2.DIR.data = 0x3ff;       // переключаем LDAT2[7:4] в режим выхода

    task_create (task1, 0, "task1", 1,  task1_space, sizeof (task1_space));
    task_create (task2, 0, "task2", 2,  task2_space, sizeof (task2_space));

    task_create (task, "task", "task", 3, task_space, sizeof (task_space));
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:56
Рейтинг@Mail.ru


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