Люди, тут многие делали странное, может, подскажете? Я пытаюсь рулить степ-дир драйверами шд через сдвиговый регистр. В прерываеии таймера пинаю spi, он стартует и через dma высвистывает 3 байта (step, dir, slp). проблема в том, что импульсы идут через неправильные, плавающие иньервалы. От чего я могу иметь сильный джиттер?
Комментарии: 6
Ogurezzz
Камень STM?
Serge
Да, ф103, жужжит на 72мгц, прочие прерывания имеют более низкий приоритет и не должны мешать
Ogurezzz
Не совсем так. Если у тебя высокоприоритетное прерывание срабатывает - идут затраты на прерывание низкого прерывания. Но там единицы тактов процессора. Не думаю, что на 72МГц это было бы заметно.
Serge
У меня мысли попробовать приподнять приоритет потока отправки дма
Ogurezzz
Надо копать глубже значит. А на SPI все ноги хардварно управляются? CS тоже? Если на этом DMA больше ничего нет, то вряд ли поможет. А если еще что-то он делает - да, есть шанс. Тем более, что DMA в F103 один же?
Serge
Сс софтовый. Прерывание таймера - прижали ногу, запустили дма. Прерывание тс дма приема - отпустили ногу, запретили каналы Один, но я несколько каналлв юзаю