все нормально, драйвер запустился, прерывания (TC0) идут относительно стабильно (пробовал на 1кГц и на 40кГц)
("относительно"- потому что смотрю сигналы через 400кГц-овую плату АЦП, ничего другого дома нет)
обязательно напишу какой-нибудь мануальчик по своим опытам, для новичков.
а сейчас мне вот лучше подскажите: чем в прерывании можно сделать задержку на несколько микросекунд?
ну кроме тупого цикла. чот в запале не соображу сразу... :-/
Это плохая идея - делать задержки в обработчике прерываний - без этого никак ? а вообще тогда пустые циклы - udelay например очень точную задержку даст с отключенными прерываниями.
тут суть такая- прикручиваю несколько внешних АЦП, с последовательным выходом. На АЦП подаю сигнал CONV (начало преобразования) и 16 тактов CLK - по каждому такту считываю с выхода каждого АЦП один бит.
если запрограммировать ТС как генератор , то все равно нужно по каждому такту в прерывании читать результат - мне как-то стремно - уж очень большая частота генерации прерываний получается (40кГц * 16=640кГц)
поэтому я "по-быстрому" хотел сделать так : генерирую прерывание с частотой 40КГц, в котором эти 16 тактов выдаю и читаю результат. у АЦП, минимальная длительность "полки" CLK 50нс.
поэтому между парой команд установки/сброса линий PIO нужно вставить какую-то задержечку на 50нс, иначе слишком быстро переключится.
* спустя 5 минут
урашки! ndelay кажется помог. 50нс-ые импульсы я своим "осциллографом" уже толком не вижу - так, проскакивает что-то короткое.
теперича как Левша, буду вслепую творить:)
тут суть такая- прикручиваю несколько внешних АЦП, с последовательным выходом. На АЦП подаю сигнал CONV (начало преобразования) и 16 тактов CLK - по каждому такту считываю с выхода каждого АЦП один бит.
Почему бы не использовать аппаратный spi - он умеет в 16 битном режиме работать да к тому же pdc двухканальный подключен ? Или их нужно одновременно считывать ? .
тут суть такая- прикручиваю несколько внешних АЦП, с последовательным выходом. На АЦП подаю сигнал CONV (начало преобразования) и 16 тактов CLK - по каждому такту считываю с выхода каждого АЦП один бит.
Почему бы не использовать аппаратный spi - он умеет в 16 битном режиме работать да к тому же pdc двухканальный подключен ? Или их нужно одновременно считывать ? .