Понимание pthreads немного больше в C
Так что я совсем недавно слышал об этих pthreads, и мое понимание их до сих пор очень ограничено, но я просто хотел узнать, сможет ли он сделать то, что я хочу, прежде чем я начну узнавать о них.
Я написал программу, которая генерирует два выходных импульса от микроконтроллера, которые происходят с разными частотами, периодами и рабочими циклами. В настоящий момент функции для выдачи импульсов выполняются в цикле, и это работает хорошо, потому что время, которое я использую, кратно друг другу, поэтому остановка одной из них, не прерывая другую, не доставляет особых хлопот.
Однако я хочу, чтобы он был намного более динамичным, чтобы я мог легко изменять рабочие циклы или периоды без необходимости создавать какой-то сложный цикл, специфичный для этих времен... Ниже приведен краткий обзор того, чего я пытаюсь достичь, и я надеюсь, что вы сможете понимать это...
Итак, в основном мой вопрос: возможно ли что-то подобное с pthreads в C, то есть они работают одновременно, чтобы можно было включать и выключать пульс, в то время как один ожидает окончания задержки?
Если нет, то есть что-нибудь, что я мог бы использовать вместо этого?
1 ответ
В общем, не стоит использовать потоки для такой функциональности в ОК. Стоимость дополнительных стеков и т. Д. Для таких ограниченных операций не стоит, соблазнительно это может быть из-за простоты POV.
Аппаратный таймер, прерывание и дельта-очередь событий, вероятно, лучшее, что вы могли бы сделать.