[an error occurred while processing this directive]
Очень похоже, что во время прерывания процесса происходит следующее (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено homekvn 24 октября 2006 г. 15:54
В ответ на: хм... интересно вот что:(+++) отправлено <font color=gray>val_omsk</font> 24 октября 2006 г. 15:14

Данные у Вас, похоже, идут с чередованием отсчетов (т.е. отсчет действительный, затем отсчет мнимый, потом опять, действительный, мнимый, и т.д.). Когда Вы останавливаете процесс, то порт может об этом и не знать (если у Вас прием через ДМА) и данные по прежнему идут. Во время прерывания и может произойти смещение: действительный отсчет уже поступил, а мнимый еще нет. Такое может произойти и в случае, когда читаете вручную (т.е. процессор сам читает).

Посмотрите, как Вы данные укладываете в буфер, как Вы их читаете.

Напишите простую тестовую программу, которая будет работать с двумя буферами. В одном данные будут гарантированно правильными, а другой буфер будет незавершенным. Не забудьте перед брейкпойнтом остановить ДМА, либо запретите прерывания, по которому Вы копируете данные из ДМА в свой буфер.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание