-
- На железе еще не проверял. Сейчас занялся макеткой для таких случаев, заколебался с кучей плат париться. После на ней уже в реале погоняю. Код вроде должен работать. Посмотри пожалуйста. mazur(2300 знак., 30.09.2011 22:10)
- Чем ехидничать, как во всех проектах таймер инициализировать :), подскажи лучше. Если мы таймер запускаем заранее, будут выставляться флаги совпадения и переполнения. Только что в симуляторе после считывания счетчика и прибавления запустилось mazur(393 знак., 29.09.2011 14:38)
- 1)Прерывание не запустится, если его не разрешить. 2)Чушь, поясни. 3)FOC и должен сразу сбрасываться - он одноразовый (строб). 4)Таймеры, как и прочая периферия, симулируются отвратительно - проверяй на железе - MBedder(29.09.2011 16:56 - 17:01)
- Забыл. Три года назад это делал и то пробовал. Как мне принудительно выставить ногу проца? Можно ли sbi PORTX? И он потом сбросится. Или как-то иначе? Таймер ногой дрыгает только при совпадении. Вот и как заранее выставить? - mazur(29.09.2011 17:06)
- Смотри пример Леонида Ивановича. Как только ты включил режим Output Compare, нога OCx порта тебе больше не принадлежит - ей рулит Output Compare Module. Принудительно сбросить ногу = настроить WGM на ее сброс и записать 1 в FOCx - MBedder(29.09.2011 17:15)
- Но можно же и так отключить ногу ilyaul(18 знак., 29.09.2011 17:28)
- Ога, в воздух подвесить :) - MBedder(29.09.2011 22:49)
- Но ведь инит PORTD никто не отменял, получится либо вход с 0 или с 1 , если pull подключён - ilyaul(30.09.2011 01:17)
- Не пори чушь - она сильно визжит - MBedder(30.09.2011 01:58)
- Но ведь инит PORTD никто не отменял, получится либо вход с 0 или с 1 , если pull подключён - ilyaul(30.09.2011 01:17)
- Ога, в воздух подвесить :) - MBedder(29.09.2011 22:49)
- Но можно же и так отключить ногу ilyaul(18 знак., 29.09.2011 17:28)
- Смотри пример Леонида Ивановича. Как только ты включил режим Output Compare, нога OCx порта тебе больше не принадлежит - ей рулит Output Compare Module. Принудительно сбросить ногу = настроить WGM на ее сброс и записать 1 в FOCx - MBedder(29.09.2011 17:15)
- Забыл. Три года назад это делал и то пробовал. Как мне принудительно выставить ногу проца? Можно ли sbi PORTX? И он потом сбросится. Или как-то иначе? Таймер ногой дрыгает только при совпадении. Вот и как заранее выставить? - mazur(29.09.2011 17:06)
- 1)Прерывание не запустится, если его не разрешить. 2)Чушь, поясни. 3)FOC и должен сразу сбрасываться - он одноразовый (строб). 4)Таймеры, как и прочая периферия, симулируются отвратительно - проверяй на железе - MBedder(29.09.2011 16:56 - 17:01)
- Про прибавлять значение уже думал. Допустимо использовать один из OCxx выходов. Что-то не получилось выставить при помощи Force Output Compare. Как там можно принудительно выставить ногу в нужное значение? Может я опять что-то не так ляпнул. В mazur(58 знак., 29.09.2011 11:54)
- В твоем исходнике порт управляется через DDRx, а не через PORTx (OCx) - видимо, тебе нужен был открытый сток, а не пушпул. В этом случае OCx пойдет только на XMega, у которых можно произвольно конфигурировать выходы как Open Drain. А если пушпул - MBedder(40 знак., 29.09.2011 14:35)
- Как пример, реализация DDS с I2S-ЦАПом. Там используется force. Лeoнид Ивaнoвич(1646 знак., 29.09.2011 12:29)
- А для режима с SET/RESET OCx (т.е. не TOGGLE) начало будет еще проще, т.к. не придется синхронизировать фазу TOGGLE - MBedder(29.09.2011 14:28)
- Фигня заключается в том, Лeoнид Ивaнoвич(352 знак., 29.09.2011 17:15 - 17:40)
- Нет, ты неправ - можно и нужно - MBedder(30.09.2011 02:06)
- Действительно, Лeoнид Ивaнoвич(504 знак., 30.09.2011 10:44)
- Мало того, оно работает и при остановленном таймере - MBedder(30.09.2011 10:49)
- Действительно, Лeoнид Ивaнoвич(504 знак., 30.09.2011 10:44)
- Нет, ты неправ - можно и нужно - MBedder(30.09.2011 02:06)
- Фигня заключается в том, Лeoнид Ивaнoвич(352 знак., 29.09.2011 17:15 - 17:40)
- А для режима с SET/RESET OCx (т.е. не TOGGLE) начало будет еще проще, т.к. не придется синхронизировать фазу TOGGLE - MBedder(29.09.2011 14:28)