Хелп!

Тема в разделе "Arduino & Shields", создана пользователем htsgladiatis, 13 мар 2016.

  1. htsgladiatis

    htsgladiatis Нуб

    Здравствуйте! помогите пожалуйста не могу найти и исправить..вот код

    int LED=13;
    char startbyte=0;
    int highbyte=0;
    int lowbyte=0;
    int adc_raw[6];
    int adc_cnt=0;
    int cnt=0;
    int crc=0;

    void setup()
    {
    Serial.begin(9600);
    pinMode(LED,OUTPUT);
    }

    void loop()
    {
    startbyte = Serial.read();
    if(startbyte==42)
    {
    digitalWrite(LED,HIGH);
    delay(50);
    digitalWrite(LED,LOW);
    delay(50);
    Serial.flush();

    for(cnt=0;cnt<6;cnt++)
    {
    adc_raw[cnt]=analogRead(adc_cnt);
    adc_cnt++;
    }
    adc_cnt=0;

    for(cnt=0;<6;cnt++)
    {
    highbyte=adc_raw[cnt]/256;
    lowbyte=adc_raw[cnt]%256;
    Serial.write(highbyte);
    Serial.write(lowbyte);
    }
    crc=170^highbyte^lowbyte;
    Serial.write(crc);
    }

    }

    In function 'void loop()':
    error: expected primary-expression before '<' token
    Ошибка компиляции.
     
  2. Salk

    Salk Гик

    Код (C++):
    for(cnt=0;<6;cnt++)
    {
    highbyte=adc_raw[cnt]/256;
    lowbyte=adc_raw[cnt]%256;
    Serial.write(highbyte);
    Serial.write(lowbyte);
    }
    cnt=0;<6;cnt++
     
  3. Mestniy

    Mestniy Гуру

    Добавляйте пожалуйста код сюда:
    Код (C++):

    int LED = 13;
    char startbyte = 0;
    int highbyte = 0;
    int lowbyte = 0;
    int adc_raw[6];
    int adc_cnt = 0;
    int cnt = 0;
    int crc = 0;

    void setup()
    {
      Serial.begin(9600);
      pinMode(LED, OUTPUT);
    }

    void loop()
    {
      startbyte = Serial.read();
      if (startbyte == 42)
      {
        digitalWrite(LED, HIGH);
        delay(50);
        digitalWrite(LED, LOW);
        delay(50);
        Serial.flush();

        for (cnt = 0; cnt < 6; cnt++)
        {
          adc_raw[cnt] = analogRead(adc_cnt);
          adc_cnt++;
        }
        adc_cnt = 0;

        for (cnt = 0; cnt < 6; cnt++)
        {
          highbyte = adc_raw[cnt] / 256;
          lowbyte = adc_raw[cnt] % 256;
          Serial.write(highbyte);
          Serial.write(lowbyte);
        }
        crc = 170 ^ highbyte ^ lowbyte;
        Serial.write(crc);
      }
    }
     
     
    Последнее редактирование: 14 мар 2016
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Mestniy, а форматировать код кто будет?
     
  5. Mestniy

    Mestniy Гуру

    что, простите?
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Раз уж беретесь других учить правильному оформлению, то учите правильно.
    Код должен не только в тэге находиться, но и быть отформатирован. Для этого в Arduino IDE достаточно просто нажать Ctrl+T.
     
    Mestniy нравится это.
  7. vvr

    vvr Инженерище

    ФОРМАТИРОВАТЬ!
    нажал Ctrl + T и код примет нормальный читаемый вид
     
    Mestniy нравится это.
  8. vvr

    vvr Инженерище

    упс, опередили
     
  9. Mestniy

    Mestniy Гуру

    Сделал как вы сказали. Но по мне так в данном случае - это ненужная формальность!!!
     
  10. Megakoteyka

    Megakoteyka Оракул Модератор

    Это повышает читабельность кода. В отформатированном коде проще не наляпать ошибок и проще отыскать те, что уже есть. Это очень нужная и полезная формальность.
     
  11. Mestniy

    Mestniy Гуру

    Нууу.... Может быть со временем пойму(пока просто без него обхожусь)... Во всяком случае спасибо.
     
  12. vvr

    vvr Инженерище

    не согласен, надо с юности приучаться всё делать ПРАВИЛЬНО
    если код паскудно написан и оформлен то его и смотреть не особо хочется - а чел ведь ждёт помощи...
     
  13. Mestniy

    Mestniy Гуру

    Паскудных кодов я не видел. Видел плохо оформленные. А здесь, скобки перенесены, каждая выполняющая строка отдельно. Что еще нужно.
    Покранимере мне этот код глаза совсем не резал, за исключением опечатки...
     
  14. Salk

    Salk Гик

    Видимо, автор уже сам нашел неисправность, но... это же флудилка...
     
  15. Megakoteyka

    Megakoteyka Оракул Модератор

    Автору ошибку показали в первом ответе.
     
  16. k4y

    k4y Нуб