189 похожих чатов

Т.Е. допустим если задача так описана и запущена, /* Definitions for

View */
osThreadId_t ViewHandle;
uint32_t ViewBuffer[ 256 ];
osStaticThreadDef_t ViewControlBlock;
const osThreadAttr_t View_attributes = {
.name = "View",
.stack_mem = &ViewBuffer[0],
.stack_size = sizeof(ViewBuffer),
.cb_mem = &ViewControlBlock,
.cb_size = sizeof(ViewControlBlock),
.priority = (osPriority_t) osPriorityNormal,
};
ViewHandle = osThreadNew(tViewTask, NULL, &View_attributes);
(это cmsis_os2 обертка вокруг freertos)
то можно ее грохнуть и потом пересоздать на этих же переменных? По идее при удалении переменные останутся на месте и можно их опять использовать?..

11 ответов

13 просмотров

а у вас какая цель то? чтобы задача останавливалась в определенном месте?

cume-C Автор вопроса
Pasha
а у вас какая цель то? чтобы задача останавливалас...

по внешнему событию (по кнопке СТОП) ее останавливать и потом запускать с самого начала.

cume C
по внешнему событию (по кнопке СТОП) ее останавлив...

и при нажатии стоп, очень важно, чтобы она до конца конечно же не дошла?

cume-C Автор вопроса
Pasha
и при нажатии стоп, очень важно, чтобы она до конц...

да и раскидать по ней периодическую проверку флага - гемор тот еще.

cume C
да и раскидать по ней периодическую проверку флага...

Странный кейс. Убивать задачи в вытесняющей ртос - такое себе, обычно так не делают. Я б еще понял, если кооперативка и памяти под дескрипторы задач нету. А что будет с данными в этой задачи, когда вы кнопку нажмете?

cume-C Автор вопроса
Aleksandr Borisov
Странный кейс. Убивать задачи в вытесняющей ртос -...

данные мне не нужны. Все что нужно - сохраняется по ходу дела. Мне нужно ее не удалить, а перезапустить с самого начала. А написана она линейно и довольно много шагов. Потому и хочу от внешнего воздействия ее перезапускать чтобы не переписывать эту портянку. (в наследство досталась)

cume C
данные мне не нужны. Все что нужно - сохраняется п...

ха, ну представьте, что кнопку нажали в момент сохранения данных и вы убили таску из другой, которая обрабатывает кнопку, получив управление от сервиса в прерывании. Это ж асинхронный процесс

Aleksandr Borisov
ха, ну представьте, что кнопку нажали в момент сох...

Мб там на сохранение данных - критическая секция...

Alexander
Мб там на сохранение данных - критическая секция.....

может быть даже мютекс 🤷🏻‍♂️ но в целом это плохой стиль проектирования

cume C
данные мне не нужны. Все что нужно - сохраняется п...

т.е. просто поставить "текущий шаг будет 0" нельзя?

cume-C Автор вопроса
Vyacheslav Olkhovchenkov
т.е. просто поставить "текущий шаг будет 0" нельзя...

Как оно написано сейчас - нет. Точнее можно, но слишком геморно.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Карта сайта