Чтение данных из buffer по Serial

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем yhl, 27 фев 2017.

  1. yhl

    yhl Нерд

    Помогите найти ошибку
    Код (Javascript):
    Serial3.setup(115200);
    var buffer = '';
    Serial3.on('data', function(data){
    buffer += data;
    var lines = buffer.split('\r\n');
    buffer = lines[lines.lenght - 1];
    if(lines.lenght > 1){
       for(l = 0; l < lines.lenght - 1; l++){
          print(lines[l]);
       }
        }
    });
     
  2. Morgan

    Morgan Гик

    а в чём ошибка?
     
  3. yhl

    yhl Нерд

    Отправляю команду приходит только
    Код (Javascript):
    Serial3.println('AT+CWLAP');
    =undefined
    Без buffer все работает, но данные приходят
    Код (Javascript):
    >Serial3.println('AT');
    =undefined
    A
    T
    >
    >
    OK
    >
     
  4. sys

    sys Злобный Буратино Модератор

    lines.lenght != lines.length
     
  5. yhl

    yhl Нерд

    а можно по подробней ?
     
  6. sys

    sys Злобный Буратино Модератор

    блин... Вы допустили ошибку в написании .length перепутав местами t и h в конце

    правильно: lines.length
    неправильно: lines.lenght
     
  7. yhl

    yhl Нерд

    Спасибо!, но почему то ни чего не изменилось
    Код (Javascript):
    >Serial3.println('AT');
    =undefined
    >
     
  8. sys

    sys Злобный Буратино Модератор

    везде исправили?
    попробуйте убрать условие if(...>1)....
     
  9. rkit

    rkit Гуру

    Было бы гораздо проще. если бы автор внятно объяснил, чего он хочет добиться.
     
  10. yhl

    yhl Нерд

    Хочу получать данные по UART и выводить их в com порт. Просмотрел уроки от Амперки и во этот код собственно от туда. Сам код почему то не работает
    Код (Javascript):
    Serial3.setup(115200);
    var buffer = '';
    Serial3.on('data', function(data){
    buffer += data;
    var lines = buffer.split('\r\n');
    buffer = lines[lines.lenght - 1];
    if(lines.lenght > 1){
       for(l = 0; l < lines.lenght - 1; l++){
          print(lines[l]);
       }
        }
    });
     
  11. sys

    sys Злобный Буратино Модератор

    Вы издеваетесь? Вы опять показываете код с неисправленными lines.lenght. Где Вы такое у Амперки нашли? Должно быть lines.length
     
  12. yhl

    yhl Нерд

    Изменяюсь копировал старый код. Видео у них было на канале

    , а вот их код

    Код (Javascript):
    Serial3.setup(115200);
    var buffer ='';
    Serial3.on('data',function(data){
    buffer += data;
    var lines = buffer.split('\r\n');
    buffer = lines[ lines.length-1];
    if( lines.length >1){
       for(l =0; l <  lines.length-1; l++){
          print(lines[l]);
       }
       }
    });
     

    Вложения:

  13. sys

    sys Злобный Буратино Модератор

    А не пробовали придерживаться примера и начать скорость с 9600?
    Serial3.setup(9600);
     
  14. yhl

    yhl Нерд

    Пробовал, но ничего не получилось
     
  15. sys

    sys Злобный Буратино Модератор

    А можно увидеть снимок с кодом и консолью с ответом платы и ее версией из вашей IDE?
     
  16. yhl

    yhl Нерд

    Конечно можно
    Снимок экрана 2017-03-02 в 19.43.55.png Снимок экрана 2017-03-02 в 19.44.09.png
     
  17. sys

    sys Злобный Буратино Модератор

    Что-то 96000 не похоже на 9600
     
  18. yhl

    yhl Нерд

    Вообщем все заработало. В чем было дело я так и понял
     

    Вложения:

  19. sys

    sys Злобный Буратино Модератор

    Я рад, что Вы поняли в чем дело ;)