Jump to content

    

RadiatoR

Свой
  • Content Count

    321
  • Joined

  • Last visited

Community Reputation

0 Обычный

About RadiatoR

  • Rank
    Местный
  • Birthday 05/17/1991

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Москва

Recent Profile Visitors

2180 profile views
  1. Только учтите, что он относительно "старенький", хотя оценивать надо по требуемым ресурсам. Его я привел как пример того, что алик и алибаба предлагают хорошие варианты. В общем нынче выбрать есть из чего...
  2. Мы в свое время не договорились с этой конторой по нормальной цене и в итоге выбрали модуль smart4418. Сначала на али брали, потом на алибабе нашли поставщика и напрямую с ним работали. В принципе можно подобрать модуль по желаемым характеристикам и брать из поднебесной. Дешевле чем там мы не находили. По качеству - работают, проблем в общем не создавали. По условиям эксплуатации был commercial.
  3. Разобрался с ВУ. Изначально немного не так представлял. Спасибо.
  4. Ааа, то есть благодаря ВУ в коммутации нет обыденного 0 и 1? Контроллер очень резво меняет "пропорцию" токов в фазах и время, когда измерение не будет происходить крайне мало?
  5. Почему? Пусть например полумост без шунта будет "C". Когда придет его очередь коммутировать землю, А или B будут коммутировать высокий потенциал. Ток через шунт не потечет. Или как оно измерит?
  6. Всем привет. В ДШ на DRV8301 в функциональной схеме есть 2 шунта: Вопрос - в чем смысл установки их обоих на "землю"? Чем этот вариант лучше установки 1 шунта между землей и общей точкой всех трех ключей нижнего плеча? Ведь в данном случае один шунт будет всегда "простаивать" и в одном цикле ток измерять вообще не будет. Есть подобный контроллер BLDC от ST и у него эти шунты расположены в фазах двигателя. В таком случае они будут измерять токи в каждом цикле: В чем вообще преимущество установки 2 шунтов вместо одного? Заранее спасибо.
  7. Действительно. #include <iostream> #include <cstdlib> constexpr int f2(int i) { return i * i; } int main() { volatile int x; constexpr auto i2 = f2(x); // ошибка. } Проверил этот код. Тоже вываливается с ошибкой. В итоге выходит, что constexpr к функции ничего не "должна". А к переменной предъявляет однозначный расчет в компилтайме и присвоение через constexpr функцию, либо напрямую константой.
  8. Получается, при включенной оптимизации, constexpr для функций вообще ничего не значит...
  9. Проверил. Даже без static в случае не const вываливается с ошибкой: volatile int ia; constexpr int my = ia + 1; В общем constexpr к функциям только позволяет компилятору рассчитывать в компилтайме, а к переменным обязывает судя по всему. Спасибо.
  10. Так я не могу понять, почему без оптимизации он вычисляется в рантайме, а не в компилтайме. Аа, понял. Спасибо за разъяснение. Тогда ждем =)
  11. Пускай сейчас она отключена и он не оптимизирует. Почему constexpr без нее не должен работать? PS. Подтверждаю - с O3 старый код заработал "правильно". Не знал такой особенности
  12. я про Ответ же был про оптимизацию. Что с ней не так?
  13. А каким образом constexpr и оптимизация связаны? Разве она "мешает" компилятору?
  14. Он и был установлен. Оптимизация отключена. Как раз kv() возвращала значение сразу, а k0, k1, k2, которые умножали kv на константу считались в rt.
  15. Пробовал constexpr static const k0() {...}; Не помогало