ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
789947 Топик полностью
Ксения (27.10.2017 00:54 - 01:11, просмотров: 321) ответил Экспериментатор на Продолжайте наблюдение. Сообщите, когда увидите микроконтроллер, который по результату сравнения регистра с текущим значением АЦП аппаратно сможет сбросить ШИМ. Некоторые пики подошли к этому совсем близко, но остановились на прерывании.
Полагаю, что любая X-Мега так может, если с посредством системы событий (EVSYS) соединить событие, которое генерирует компаратор в момент своего срабатывания, к сбросу нужного таймера. Хотя (но я этим раньше дела не имела) сам АЦП может оказаться способным выдавать событие, сравнивая свой числовой результат с заданной константой. Если это та, то можно обойтись без компаратора. P.S. Посмотрела подробнее. Да, Х-Мега на это способна: #define EVSYS_CHMUX_ACA_CH0_gc (0x10<<0) /* Analog Comparator A Channel 0 */ #define EVSYS_CHMUX_ACA_CH1_gc (0x11<<0) /* Analog Comparator A Channel 1 */ #define EVSYS_CHMUX_ACA_WIN_gc (0x12<<0) /* Analog Comparator A Window */ #define EVSYS_CHMUX_ACB_CH0_gc (0x13<<0) /* Analog Comparator B Channel 0 */ #define EVSYS_CHMUX_ACB_CH1_gc (0x14<<0) /* Analog Comparator B Channel 1 */ #define EVSYS_CHMUX_ACB_WIN_gc (0x15<<0) /* Analog Comparator B Window */ Среди режимов EVSYS есть такой, который получает событие от компаратора. Причем не только в момент прохождения уровня, но и внутри заданного окна (типа симуляции гистерезиса). Новые ATmefa4808/4809, по-видимому, тоже так смогут: EVSYS_GENERATOR_AC0_OUT_gc = (0x20<<0), /* Analog Comparator 0 out */ EVSYS_GENERATOR_ADC0_COMP_gc = (0x24<<0), /* ADC 0 Comparator Event */