Цитата(_Ie0nid @ Dec 3 2009, 06:31)

здраствуйте
1. "При этом прерывания по переполнению должны следовать, понятно, с частотой дискретизации" - то есть, лучше всего ,как только я получил значение от АЦП, быстро преобразовать и сразу его ШИМИТЬ, чтобы частота дискретизация АЦП не отличалась от частоты преобразования ШИМ.
1) Если вы будете "не сразу ШИМить", то получите сдвиг по фазе. В общём-то он появится практически в любом случае, и как правило, ничего страшного в этом нет.
2) Частота дискретизации при получении и выдаче сигнала может отличаться. Вообще немного непонятно из вашего сообщения. Если требуется просто повторить сигнал, то зачем вообще этот огород городить, а если требуется его изменить, то привязка к частоте дискретизации входного сигнала необязательна. Даже при повторении сигнала, вы можете апроксимировать сигнал в нужных вам точках и вывести с любой частотой дискретизации.
Надо учитывать, что обработка сигнала требует значительных вычислительных ресурсов. Сколь-нибудь сложная обработка "на лету" сигналов частоты выше 4кГц в рамках меги достаточно затруднительна. Для этой цели используются другие процессоры.
Цитата
2. Я еще упустил как-то момент, имеет ли значение как быстро можно посчитать таймером ШИМА, можно ли это делать максимально быстро, или лучше поделить тактовую частоту таймера. Есть ли какие-то рекомендации у вас на этот счет.
Таймер всё делает автоматически. Предварительное деление частоты - естественно предусмотрено.
Цитата
3. И все-таки, если я заполнил когда-то ОЗУ данными, чтобы их восстановить я должен буду это делать ШИМОМ с точной такой же частотой дискретизации? А если частота дискритизации, с которой я их получил имеет довольно дробное значение. МОжно ли как ни будь от нее отклонится. Или есть возможность по другому реализовать эту проблему.
Я уже писал - нет. Вы можете по известным точкам восстановить сигнал в точках выдачи и выдать с другой частотой дискретизации. Правда объём памяти достаточно мал.