Всем доброго времени суток!
Разбираюсь с Touch sensing controller (TSC) на STM32F0. Вытравил слайдер по рекоммендациям отсюда:
http://www.st.com/internet/com/TECHNICAL_R.../CD00222015.pdf
Расстояние между передающим и принимающим электродами - 0,3мм.
Если я правильно понимаю, принцип действия контроллера таков: передающий электрод посылает импульсы на принимающий. Счетчик считает количество импульсов, необходимых для заряда емкости на принимающем электроде (я поставил керамику на 10нФ). Если в область переноса заряда вносится проводящий предмет, то число импульсов, необходимых для заряда емкости на принимающем электроде увеличивается, т.к. предмет поглащает часть энергии.
У меня же выходит все совсем наоборот. Когда не касаешься слайдера, то емкость вообще не успевает зарядиться за отведенное время - счетчик досчитывает до максимального значения, устанавливается флаг ошибки. Если касаешься слайдера в момент обнаружения, емкость успевает зарядиться, в счетном регистре довольно адекватное значение, но результат плавает.
Кто что может сказать по этому поводу? Кто-нибудь уже сумел успешно применить touch sense, есть "правильный" алгоритм работы?
Также непонятно предназанчение некоторых регистров, а именно TSC_IOHCR и TSC_IOASCR - управление гистерезисом триггера Шмитта и "analog switch" соответсвенно. Не представляю как их применять. Кстати в первом по умолчанию гистерезис включен на всех пинах.