nikserg » 25 ноя 2011, 16:42
Здравствуйте.
Имется микрофон DFR0034, подключенный к нулевой линии PortF. Произвожу настройку:
S40 02 03 01 P
(в документации сказано, что драйвер по адресу 0С, информация, видимо, устаревшая, драйвер интроспекции говорит, что адрес 02)
После этого читаю сразу со всех линий:
S40 03 S41 08 P
Дальше начинается интересное. В первый раз приходит ответ
SWAASR0000000000000000P
Но после этого, на каждый следующий запрос, приходят ответы вида
SWAASR001A000000000000P
SWAASR00001A0000000000P
SWAASR0000001A00000000P
SWAASR000000001A000000P
И т.д. Когда "1А" "добегает" до конца, она снова появляется слева и продолжает свой бег. Таким образом, мне приходят разные ответы на одну и ту же команду, притом микрофон в тишине.
Я сделал графическое представление уровней сигнала для каждой линии. Теперь я буду говорить об уровнях сигнала, как о полосках, чтобы было нагляднее.
Еще интереснее. Шумим около микрофона и видим, что наша бегающая полоска дергается! То есть, микрофон работает, сигнал идет, но, видимо, то ли неправильно интерпретируется, то ли неправильные настройки.
Теперь включим все линии порта АЦП:
S40 02 03 FF P
И теперь самое интересное! Включаем около микрофона музыку и видим, как все полоски ПРЕВРАЩАЮТСЯ В ЭКВАЛАЙЗЕР!
Это действительно очень забавно выглядит. Разумеется, это не эквалайзер, но очень похоже. Сигнал как бы идет с портов, к которым ничего не подключено. Бегающий сигнал присутствует, но вокруг него образуются "волны", как на заправском эквалайзере.
Помогите, пожалуйста, разобраться с драйвером АЦП и правильно интерпретировать сигналы.
Заранее спасибо.