Люди, тут многие делали странное, может, подскажете? Я пытаюсь рулить степ-дир драйверами шд через сдвиговый регистр. В прерываеии таймера пинаю spi, он стартует и через dma высвистывает 3 байта (step, dir, slp). проблема в том, что импульсы идут через неправильные, плавающие иньервалы. От чего я могу иметь сильный джиттер?

Комментарии: 6

  1. Ogurezzz

    Камень STM?

    • Serge

      Да, ф103, жужжит на 72мгц, прочие прерывания имеют более низкий приоритет и не должны мешать

      • Ogurezzz

        Не совсем так. Если у тебя высокоприоритетное прерывание срабатывает - идут затраты на прерывание низкого прерывания. Но там единицы тактов процессора. Не думаю, что на 72МГц это было бы заметно.

        • Serge

          У меня мысли попробовать приподнять приоритет потока отправки дма

          • Ogurezzz

            Надо копать глубже значит. А на SPI все ноги хардварно управляются? CS тоже? Если на этом DMA больше ничего нет, то вряд ли поможет. А если еще что-то он делает - да, есть шанс. Тем более, что DMA в F103 один же?

            • Serge

              Сс софтовый. Прерывание таймера - прижали ногу, запустили дма. Прерывание тс дма приема - отпустили ногу, запретили каналы Один, но я несколько каналлв юзаю

Не нашли ответ?

Вам также может быть интересно