Проблемы с операциями float

Тема в разделе "Arduino & Shields", создана пользователем danylo_, 2 апр 2021.

  1. danylo_

    danylo_ Нуб

    Для подсчета ускорения мотора требуется выполнить операцию, но Сериал выдает странные вещи, вот код:
    Код (C++):

    float rpm_c = 70;
    float rpm_b = 143.3;
    float acc = 12;
    float capa = 1800;
    float aproxtime = 25.71;

    void setup()
    {
      Serial.begin(9600);
       Serial.println(     (float)  (rpm_c/(   (  ( (acc*capa) /100) *aproxtime)   /capa)  )  );
    }
    Выдает <&&¿¿j
    все калькуляторы(на пк, на телефоне и инженерный) выдают правильно 22,688966679631
     
  2. parovoZZ

    parovoZZ Гуру

    сериал флоат и выдёт. А то, что "программист" не знает, как терминал пеервести в режим отображения цифр, а не текста - флоат с его операциями не виноваты.
     
  3. danylo_

    danylo_ Нуб

    ну да, не могу, извините но я действитнльно нуб.
    Каким образом мне эти данные получить? Посмотрел ардуино референс, не нашел, Serial.write вроде как нет
     
  4. parovoZZ

    parovoZZ Гуру

    Получить или отобразить в терминале? В терминале выключить отображение данных в ASCII формате.
     
  5. SergeiL

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

    Скорости вывода в порт и монитора порта совпадают?
     
    Andrey12 нравится это.
  6. Asper Daffy

    Asper Daffy Иксперд

    Зачем Вы написали
    Код (C++):
    Serial.println(  (float)  ...
    ?

    Либо уберите это float на, либо напишите
    Код (C++):
    Serial.println(  (double) ...
    Ну, и пост #5 никто не отменял.
     
    Andrey12 нравится это.