Перейти к содержанию
    

Лидеры

  1. jcxz

    jcxz

    Свой


    • Баллы

      2

    • Постов

      13 618


  2. SSerge

    SSerge

    Свой


    • Баллы

      1

    • Постов

      1 986


  3. artemkad

    artemkad

    Свой


    • Баллы

      1

    • Постов

      2 537


  4. vervs

    vervs

    Свой


    • Баллы

      1

    • Постов

      1 335


Популярный контент

Показан контент с высокой репутацией 23.09.2022 во всех областях

  1. Случайно затесалась, по недогляду. "Остальные" - переменные хранения, они и должны быть 16-битными. По алгоритму работы, подумайте внимательнее. А i1 - операционная переменная, она должна быть основной разрядности CPU, т.е. = 32 бита, можно uint; чтобы компилятор не налепил лишних команд расширения UXT/SXT. А при чём тут обработка пересечения 0? Достаточно вспомнить хотя бы школьный метод сложения/вычитания в столбик: содержимое младших разрядов числа никак не зависит от старших. Так что их можно спокойно отбросить.
    1 балл
  2. желательно через пружинку, а то и осциллограф "выдаст хрен пойми что" . подробнее по теме RRI например см. параграф 6.1 Chapter 6 Interfacing to Data Converters F.pdf
    1 балл
  3. Если не надо делать индивидуальное регулирование плечей - взять повышающий контроллер с внешним ключом, включить по SEPIC с двуполярным выходом. Как-то так:
    1 балл
  4. Это из паспорта OP191 — красным обведена верхняя диффпара, работающая вплоть до нижней шины питания, а зелёным нижняя, работающая вплоть до верхней шины, и на двух графиках видно, при каком синфазном диффпары переключаются, ещё и при данном напряжении питания, т.е. чтобы схема работала вменяемо, требуется выбирать её синфазное заведомо до и после этого диапазона — повторю, гораздо больше неудобств, чем преимуществ, лучше был бы вход выбора диффпары вручную.
    1 балл
  5. Неужто это такая сложная операция, что даже говорить об этом стоит? u16 peri; void TIM14_IRQHandler(void) { static u16 old; TIM14->SR = 0; u32 i0, i1 = TIM14->CCR1; peri = i1 - old; old = i1; } Всё, переход через 0 обработан.
    1 балл
  6. Неправильно ты, дядя Фёдор, бутерброд ешь (с) От появления сигнала на входе до обнуления счетчика тратится время на вход в обработчик прерывания, а захват значения счетчика в CCR1 происходит аппаратно, с всегда одинаковой задержкой на несколько тактов. Измеренное время получается меньше на время входа в обработчик прерывания. TIM14->CNT лучше вообще не трогать, пусть себе считает. А время вычислять по захваченным в CCR1 значениям, текущему и предыдущему. PS. Но 0.6 мкс это 28 или 29 тактов, что-то многовато. Вход в обработчик прерывания должен быть раза в два быстрее. А 0.1 мкс у TIM3 наоборот, слишком быстро.
    1 балл
×
×
  • Создать...