Вывод массива на сериал монитор, вопрос

Тема в разделе "Arduino & Shields", создана пользователем ИванКо, 23 окт 2015.

  1. ИванКо

    ИванКо Нуб

    Привет, есть вот такая программка
    Код (C++):
    const int chpin =3;
    const int clkpin =11;
    const int datapin =10;
    int s=0;
    int i=0;
    int data[8][8]={0,1,1,0,1,1,0,0,
                    0,1,1,1,1,1,0,1,
                    1,1,0,1,0,0,0,1,
                    0,1,1,0,1,1,0,0,
                    0,1,1,1,1,1,0,1,
                    1,1,0,1,0,0,0,1,
                    0,1,1,1,1,1,0,1,
                    1,1,0,1,0,0,0,1};
         


    void setup() {
      Serial.begin(9600);

    }

    void loop() {
    for (s=0;s<8;s++) {
        digitalWrite(chpin,HIGH);
        for (i=0;i<8;i++){
          Serial.print(data);
          digitalWrite(datapin,data);
          digitalWrite(clkpin,HIGH);
          digitalWrite(clkpin,LOW);
     
          }
     
        digitalWrite(chpin,LOW);
        Serial.println(" ");
       delay (5000);
       }
        Serial.println("HEllo");

       delay(5000);

    }
    ногами не пинайте, это эксперимент .
    вот что на сериал мониторе выдает
    Код (C++):
    01111101
    11010001
    01101100
    01111101
    11010001
    01111101
    11010001
    HEllo
    01101100
    01111101
    11010001
    01101100
    01111101
    11010001
    01111101
    11010001
    HEllo
    01101100
    01111101
    11010001
    01101100
    01111101
    11010001
    01111101
    11010001
    HEllo
    01101100
    01111101
    11010001
    01101100
    01111101
    11010001
    01111101
    11010001

    Внимание вопрос!!!!

    куда пропадает первая строка массива в самом начале, со второго прохода по циклу все ок становится.
     
    Последнее редактирование: 23 окт 2015
  2. geher

    geher Гуру

    Возможно, пропадает в неустановившемся до конца соединении последовательного порта.
    Решить можно двумя способами.
    Первый - поставить в setup после инициализации порта задержку на секунду (на самом деле это, скорее всего, много, но пусть с запасом будет).
    Второй, поставить в setup после инициализации порта ожидание установления соединения:
    Код (Text):
    while(!Serial){;}
     
  3. ИванКо

    ИванКо Нуб

    О, спасибо, я просто размышлял где оно теряется на соединении или просто монитор не отображает первую строку