roboforum.ru

Технический форум по робототехнике.

Bascom avr вопрос по шиму

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Bascom avr вопрос по шиму

Сообщение AnZ » 23 окт 2012, 01:37

Возник вопрос можно ли через баском реализовать 16 битный шим?
AnZ
 
Сообщения: 3
Зарегистрирован: 23 окт 2012, 01:32

Re: Bascom avr вопрос по шиму

Сообщение Madf » 23 окт 2012, 12:21

а причем тут баском и 16-бит шим?
если в аврке есть он, то будет, если нет - то изобретаем свой велосипед программный
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Bascom avr вопрос по шиму

Сообщение AnZ » 23 окт 2012, 15:54

в настройках по таймеру есть возможность выставить 8 , 9 , или 10 битное расширение на шим , хотя в ДШ сказано что поддерживает 16бит , я работаю с мегой 64 . Поэтому и решил поинтересоватся реально ли выжать 16 бит шима ...
AnZ
 
Сообщения: 3
Зарегистрирован: 23 окт 2012, 01:32

Re: Bascom avr вопрос по шиму

Сообщение legion » 23 окт 2012, 16:08

Наверное ты что-то путаешь. В меге64 есть 8-ми и 16-ти битный шим. Ты можешь взять 16 битный и не использовать 6 старших бит, получишь 10-ти битный, если очень надо. Можно взять 8-ми битный и несложным кодом в прерываниях добавить туда 2 программных бита, если, опять-таки, очень надо.
Советую выложить скрин с настройками по таймеру.
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

Re: Bascom avr вопрос по шиму

Сообщение 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 контролеррами...
AnZ
 
Сообщения: 3
Зарегистрирован: 23 окт 2012, 01:32

Re: Bascom avr вопрос по шиму

Сообщение legion » 23 окт 2012, 16:31

Да, таймер3 16-ти битный. Тогда сдаюсь, нужен спец по баскому. =)
Софтом конечно не надо, надо разобраться с хардовым.
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

Re: Bascom avr вопрос по шиму

Сообщение Madf » 23 окт 2012, 18:21

в теории думаю можно схитрить:
- взять два таймера на 16 бит и сделать на них качающийся генератор;
- один таймер измеряет задержку 0, другой 1;
- каждый таймер перегружает другой;
- в одну еденицу времени работает только 1 таймер.

т.е. выдержка времени будет аппаратная, а дергание портом программная
как-то так..
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Bascom avr вопрос по шиму

Сообщение legion » 23 окт 2012, 19:41

Один вопрос: нафига?
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

Re: Bascom avr вопрос по шиму

Сообщение Madf » 23 окт 2012, 20:32

так 16 надо, не 13, не 10...
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Bascom avr вопрос по шиму

Сообщение legion » 23 окт 2012, 20:59

Для этого нужно не больше 1-го таймера.
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

Re: Bascom avr вопрос по шиму

Сообщение boez » 23 окт 2012, 22:04

Че-то вы ребята путаете. У 16-битного таймера атмеги есть жменя режимов разных. Есть режимы фиксированных 8,9,10 бит, а есть режим счета до регистра ICP или одного из COM. Вот в этом-то режиме можно получить до 16 бит - но не забываем, что упадет частота. При кварце 16 МГц и максимуме 65535 (полные 16 бит) частота будет 16000000/65536 = 244 Гц.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Bascom avr вопрос по шиму

Сообщение legion » 23 окт 2012, 22:26

Ох, да, извиняюсь, режимы же.
Глянул быстренько хелп баскома, но не нашел как выставить там не фиксированный режим. Есть ощущение, что никак. Посмотрите, может придет что светлое в голову: http://avrhelp.mcselec.com/index.html?config_timer2.htm
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16