Технический форум по робототехнике.
AnZ » 23 окт 2012, 01:37
Возник вопрос можно ли через баском реализовать 16 битный шим?
Madf » 23 окт 2012, 12:21
а причем тут баском и 16-бит шим?
если в аврке есть он, то будет, если нет - то изобретаем свой велосипед программный
AnZ » 23 окт 2012, 15:54
в настройках по таймеру есть возможность выставить 8 , 9 , или 10 битное расширение на шим , хотя в ДШ сказано что поддерживает 16бит , я работаю с мегой 64 . Поэтому и решил поинтересоватся реально ли выжать 16 бит шима ...
legion » 23 окт 2012, 16:08
Наверное ты что-то путаешь. В меге64 есть 8-ми и 16-ти битный шим. Ты можешь взять 16 битный и не использовать 6 старших бит, получишь 10-ти битный, если очень надо. Можно взять 8-ми битный и несложным кодом в прерываниях добавить туда 2 программных бита, если, опять-таки, очень надо.
Советую выложить скрин с настройками по таймеру.
AnZ » 23 окт 2012, 16:25
я только начинаю , потому скорее всего путаю . ))))
активирую следующим образом...
Config Timer3 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
разрядность больше 10 выставить не получается , хотя таймер 3 как понимаю 16 битный . Может можно пойти каким либо другим путем ? Как понимаю если писать програмно то то такую частоту как на харде выжать не получтся . хотя могу ошибатся , о этого работал только с pic контролеррами...
legion » 23 окт 2012, 16:31
Да, таймер3 16-ти битный. Тогда сдаюсь, нужен спец по баскому. =)
Софтом конечно не надо, надо разобраться с хардовым.
Madf » 23 окт 2012, 18:21
в теории думаю можно схитрить:
- взять два таймера на 16 бит и сделать на них качающийся генератор;
- один таймер измеряет задержку 0, другой 1;
- каждый таймер перегружает другой;
- в одну еденицу времени работает только 1 таймер.
т.е. выдержка времени будет аппаратная, а дергание портом программная
как-то так..
legion » 23 окт 2012, 19:41
Один вопрос: нафига?
Madf » 23 окт 2012, 20:32
так 16 надо, не 13, не 10...
legion » 23 окт 2012, 20:59
Для этого нужно не больше 1-го таймера.
boez » 23 окт 2012, 22:04
Че-то вы ребята путаете. У 16-битного таймера атмеги есть жменя режимов разных. Есть режимы фиксированных 8,9,10 бит, а есть режим счета до регистра ICP или одного из COM. Вот в этом-то режиме можно получить до 16 бит - но не забываем, что упадет частота. При кварце 16 МГц и максимуме 65535 (полные 16 бит) частота будет 16000000/65536 = 244 Гц.
legion » 23 окт 2012, 22:26
Ох, да, извиняюсь, режимы же.
Глянул быстренько хелп баскома, но не нашел как выставить там не фиксированный режим. Есть ощущение, что никак. Посмотрите, может придет что светлое в голову:
http://avrhelp.mcselec.com/index.html?config_timer2.htm