Socket.recv() никогда не возвращает малиновый пико в микропитоне _threadPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Socket.recv() никогда не возвращает малиновый пико в микропитоне _thread

Сообщение Гость »


У меня на пико две петли. Один должен проверять изменения контактов GPIO, другой прослушивает сообщения TCP.

Оба цикла по отдельности работают нормально. Но если я выполняю потоковую обработку, Socket.recv внезапно просто зависает/никогда ничего не возвращает. Не исключение, просто бесконечное ожидание.

Вот псевдокод:

из времени импорта сна импортная машина защита подключения(): print("подключение к Wi-Fi") пытаться: соединять() кроме KeyboardInterrupt: машина.сброс() импортировать _thread some_communication_flag = Ложь some_communication_flag_is = Ложь защита core0_thread(): глобальный some_communication_flag из some_tcp_module импортировать next_message пока правда: сообщение = "" пытаться: печать("сообщение...") сообщение = следующее_сообщение() кроме исключения как e: распечатать(е) печать("сообщение", сообщение) если сообщение == "do_smth": some_communication_flag = Ложь если сообщение == "do_smth_else": some_communication_flag = Истина из some_gpio_stuff импорт set_gpio защита core1_thread(): глобальный some_communication_flag, some_communication_flag_is пока правда: спать(0.2) если some_communication_flag == some_communication_flag_is: продолжать some_communication_flag_is = some_communication_flag если some_communication_flag_is: set_gpio (1) еще: set_gpio (0) второй_поток = _thread.start_new_thread(core1_thread, ()) core0_thread() Я использую реализацию Redis на основе TCP, вот код: https://gist.github.com/yspreen/95fbe65 ... bac6faade6
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Пико Ферми Бублик: Зачем неверный корпус напечатан, когда 0 в списке чисел?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Декодирование URL на микропитоне
    Anonymous » » в форуме Html
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как использовать Socket Recv в сочетании с Std :: Vector Post C ++ 23?
    Anonymous » » в форуме C++
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как использовать Socket Recv в сочетании с std :: vector без стоимости изменения размера в C ++ 23?
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как использовать Socket Recv в сочетании с std :: vector без стоимости изменения размера в C ++ 23?
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»