Вот пытаюсь освоить ATXMEGA16E5 после долгих лет жизни с просто мегами, наталкиваюсь на недоумения - нужен хелп.
1. Ядерная мегазасада - флаг прерывания в Таймере надо гасить вручную!
В старых мегах по умолчанию зашел в прерывание - флаг сбросился. Теперь это похоже не соблюдается... Какие здесь ещё засады в прерываниях?
2. В файле iox16e5.h, входящем в пакет АтмелСтудия, наблюдаю ашипку в разделе ЦАПа:
DAC_REFSEL_AREFB_gc = (0x03<<3), /* External reference on AREF on PORTB */
Надо поменять на
DAC_REFSEL_AREFD_gc = (0x03<<3), /* External reference on AREF on PORTD */
так как порта "B" у этого камня нет.
3. При попытке подать референс для ЦАПа именно от этого "AREF on PORTD" или от "AREF on PORTA" напряжение на выходе ЦАПы поднимается только до 0,5 Вольт (на ножку подано 2,5 Вольта). При выборе референса от "Analog supply voltage" ЦП работает нормально до 3 Вольт. Может я что-то здесь неправильно настраиваю?
4. Пытался разобраться с калибровкой АЦП - ни фига не могу найти адрес для записи в z-регистры, чтобы считать там эти калибровочные значения

. Наверное это всё лежит на самом виду, но после часа рытья в ПДФ-е я сломался... подскажите, плз.
5. Добавляю грабли. Попытка сравнить два напряжения на входах компаратора - на одном переменный сигнал от 0 до 3 В, на другом постоянной напряжение 1,5 В. Сравнение (прерывание) происходит при напряжении 0,2 В! Обе ножки камня в явном виде заданы в Totem-pole режиме (кто-нибудь знает как это перевести?!). Если же ставлю в качестве опорного напряжения примерно 1,5 В от внутреннего источника (Voltage Scaling Factor), всё прекрасно срабатывает на полутора вольтах. Ох, что-то я сильно не понимаю в ногах Хмеги...