Цитата(Neo_Matrix @ Feb 25 2016, 18:58)

Но чего и следовало ожидать, vDeleteUart не объявлена в irq.c, соответственно при компиляции ошибка. Как правильно сделать?
Для решения этой задачи надо объявить хэндлер (который присваивается в CreateTask() глобальным. Заодно осознать, что хэндлер - это просто переменная (пусть и "хитрого" типа). Как использовать переменную в двух модулях одновременно, написано во всех букварях (первая же ссылка -
http://www.c-cpp.ru/books/extern ).
А "как правильно" написано в статьях Курница (гуглится "Курниц FreeRTOS"). Очень рекомендую.
Ещё очень рекомендую инструкцию от scmRTOS - просто и понятно расписаны все принципы микро-операционки.
Цитата(zltigo @ Feb 26 2016, 15:40)

C этим вообще просто - подсовывание при вызове адреса функции вместо хандлера процесса есть 100% причина ругаться.
Вот кстати необязательно. Авторы FreeRTOS очень любят указатели на void. Соответственно, можно наворотить всякой фигни, и оно успешно соберётся. Работать, конечно же, это не станет.