Как выйти из кода Contiki?

Пожалуйста, найдите ниже прикрепленный снимок моего кода вывода. Каждый раз, когда я выполняю свой код, я должен использовать ctrl + c (cmd + c) для выхода. Есть ли какая-либо функция в библиотеке Contiki, которая поможет мне решить эту проблему? Заранее спасибо!!!

Мой код

Как выйти из этой программы без ручного ввода Ctrl+C

1 ответ

Решение

ОС Contiki предназначена для автономного запуска программ на небольших устройствах. Такие программы обычно выполняются в бесконечном цикле в ожидании входных сигналов датчика или запланированных тайм-аутов, поэтому нет необходимости в выходе. Вы, вероятно, спрашиваете об особом случае, когда вы хотите выполнить некоторый код непосредственно на ПК с Linux, а затем уничтожить программу вместе со всей ОС Contiki, которая в данном случае представляет собой отдельный процесс Linux. Поэтому нажатие Ctrl+C является правильным способом сделать это.

Поскольку ваша программа скомпилирована и связана вместе с Contiki, вы можете добавить в свою программу exit() для выхода из Contiki, если вы действительно хотите пропустить Ctrl+C:

include <stdlib.h>
...
PROCESS_THREAD(hello_world_process, ev, data)
{
  PROCESS_BEGIN();

  printf("Hello, world\n");
  exit(0);

  PROCESS_END();
}

Но это полезно только тогда, когда вы запускаете программу изначально; на встроенном устройстве вы, вероятно, захотите сброс системы, а не выход, который оставляет устройство "мертвым".

Другие вопросы по тегам