Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » ATxmega сдвиг фазы PWM


ATxmega сдвиг фазы PWM

Сообщений 1 страница 3 из 3

1

МК ATxmega64a3u.
Возникла необходимость в двух шим со сдвигом в 180.
Записал в регистр счетчика Tcf0_cnt значение в два раза меньше чем в регистр периода Tcf0_per.
Генерит как положено - со сдвигом на 180, но до тех пор пока не перейду на вторую подпрограмму.
После возврата, фаза сигнала смещается непредсказуемо.
Подскажите в чем проблема ? 
Хотя склоняюсь , что сам принцип реализации сдвига сигнала не совсем корректен.

Код

0

2

Разобрался, стоило создать условие If Tce1_cnt = 0 Then Tcf0_cnt = 5200, и все замечательно отрабатывает.
Но столкнулся с очередной проблемой - если в подпрограммах Rejim_1 и Rejim_2 вывести любую информацию на
LCD, то опять начинаются глюки. Пока разбираюсь в чем косяк.

0

3

Скорее всего у вас постоянно будут проблемы, ибо алгоритм построен без прерываний срабатывания таймеров.
Когда вы обращаетесь к ЛСД, то происходит задержка, которой достаточно для пропуска отслеживания состояния таймеров (просто пролетает).

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » ATxmega сдвиг фазы PWM