python скриптом считывать импульсы длительностью 10 - 200 мкс. Возможно ли это используя либу Rpi.GPIO_NPi?
Судя по примеру ниже, этот дядя настраивает прерывание. А как пытаетесь делать вы? Просто так, в лоб, вы на Питоне, да ещё и из-под не-риалтайм ОС, импульсы длительностью 10 мкс никогда не увидите. Ну разве только по счастливой случайности. Но вот какой режим возможен: настраивается аппаратное прерывание. На это уходит, ну, пускай даже 10 мс. Потом мы ждём импульс. И вот тут импульс может быть коротким - на него реагирует железо. Дальше железо вызывает питоновский код, ну и дальше там идёт обработка ещё на десятки миллисекунд. А так, я думаю, там один .append занимает больше 10 мкс.
Пока бьюсь с импульсами более 100 МКС, допустим пускай будет погрешность. Но прерывание настраиваю однотипно. Просто иногда импульс теряются, либо интервал получается слишком большой, раз в 50
что за операционка на nano pi ?
Армбиан, по что делали до меня было тоже на армбион под оранж пи
армбиан - дистрибутив, операционка - linux. два варианта, либо прикрутить RT_LINUX, либо выводить одно из ядер из под scheduling-a, и сделать affinity на это ядро только для процесса дергающего пин, и придется писать на C/C++
Врядли питон настолько тормозной.10мкс - это десятки килоциклов. Но ловить микросекунды под ОС - дело тухлое.
Обсуждают сегодня