Pyserial не может отправить все символы в Arduino, но может сделать это на другом терминале ПК - PullRequest
0 голосов
/ 23 апреля 2019

Я работаю над существующим проектом. До сих пор программное обеспечение для ПК контролирует Arduino Due. Программное обеспечение для ПК отправляет последовательные команды в Arduino Due.

Что я пытаюсь сделать, это заменить программное обеспечение для ПК скриптом Python. Python 3.5. Так что я работаю с pyserial.

Проблема, похоже, в том, что скрипт Python не отправляет все символы в Arduino Due. Он пропускает некоторые последние символы.

Трудными для понимания являются следующие:

  1. Когда я отправляю символы из сценария python на другой компьютерный терминал вместо Arduino, тогда я могу успешно собрать все символы с терминала, я использую терминал Брея.
  2. Когда я отправляю ту же строку из моего терминала в Arduino Due, Arduino Due успешно собирает отправленные данные. Кажется, что только Python для Arduino не работает, в то время как Python для ПК termimal работает и ПК-терминал для Arduino работает

Я открываю последовательный порт так:

    my_port = serial.Serial('COM6', 115200)
    while connected != True:
        if my_port.is_open == 1:
            connected = True

Может ли кто-нибудь дать какое-либо понимание? Спасибо.

edit: Я только что заметил, что когда скрипт python отправляет данные, то используемый последовательный порт отладки отправляет поврежденные данные.

1 Ответ

0 голосов
/ 23 апреля 2019

Решил это. Я заметил, что отладочный серийный номер также посылает меньше символов, и я подумал, что, возможно, происходит сброс.

Итак, теперь я отправляю свои массивы из потока после каждого нажатия кнопки. Что я делал, так это то, что отправлял его сразу после подключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...