Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
03.12.2007, 18:56
|
#91
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
А где вы ожидали 50 Гц получить ?
|
На выводе с пинов (аппаратно).
Цитата:
|
А, кстати, чем шьешь-то?
|
CVAVR.
|
|
|
|
03.12.2007, 19:14
|
#92
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от retcom
|
Цитата:
|
А где вы ожидали 50 Гц получить ?
|
На выводе с пинов (аппаратно).
|
НО КАК ? поясните полет мысли !
Вы пример выше смотрели 2 ШИМ на 50 Гц ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
04.12.2007, 15:13
|
#93
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
НО КАК ? поясните полет мысли !
|
Что как, то? Я же говорю. Делал аппаратный 2ШИМ. Делил пределителем потом хотел подогнать точную частоту с помощью TCNT0. Пределителем делилось. А TCNT0 нет. Вот я и решил взять кварц на 12 800, чтоб поделив делителем на 256 получить 50 Гц. кварц на 12 800 я не нашел. Нашел на 13000. Подключил фьюзы, в соответствии с ДШ. CKSEL3...0 выставил в 0, чтоб тактировать внешним кварцем от 0 до 20МГц. Отключил CKDIV8, чтоб не тактировать МК от внутреннего генератора. МК перестал отвечать.
Цитата:
|
Вы пример выше смотрели 2 ШИМ на 50 Гц ?
|
Да. Смотрел. И даже разобрал. Вот эти строчки, вы не могли бы пояснить:
Код:
|
PCICR=0x04;
PCMSK2=0x60;
PCIFR=0x04; |
И еще, пожалуйста, скажите, в прерывании, на какой частоте работает МК? В цикле while(1){} на какой частоте работает МК?
Вывод на пин идет за 1.5 такта? А не за 1?
|
|
|
|
04.12.2007, 15:34
|
#94
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
[quote="retcom"]
Цитата:
|
НО КАК ? поясните полет мысли !
|
Что как, то? Я же говорю. Делал аппаратный 2ШИМ. Делил пределителем потом хотел подогнать точную частоту с помощью TCNT0. Пределителем делилось. А TCNT0 нет. Вот я и решил взять кварц на 12 800, чтоб поделив делителем на 256 получить 50 Гц. [quote]
Ну таймер будет у вас считать 50 раз в секунду, а ШИМ то какой будет ???
Цитата:
|
Вы пример выше смотрели 2 ШИМ на 50 Гц ?
|
Да. Смотрел. И даже разобрал. Вот эти строчки, вы не могли бы пояснить:
Код:
|
PCICR=0x04;
PCMSK2=0x60;
PCIFR=0x04; |
[quote]
это прерывание от ножек ШИМ чтоб в АВР-студии при симуляции смотреть время событий.
Сообщение от retcom
|
И еще, пожалуйста, скажите, в прерывании, на какой частоте работает МК? В цикле while(1){} на какой частоте работает МК?
|
Всегда работает на 8 МГц на внутреннем генераторе.
Прерывания от переполнения тамера_0 50 раз
в секунду возникают. И ШИМ с частотой 50 Гц на выходах.
В исходнике ВСЁ аписано !
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
04.12.2007, 18:15
|
#95
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
Ну таймер будет у вас считать 50 раз в секунду, а ШИМ то какой будет ???
|
В зависимости от значения в OCR0A/B.
Я могу в программе, в цикле while(1){}, открыть порт:
А потом, через некоторое время закрыть:
Чтоб это все происходило по ходу выполнения программы?
А потом опять открыть?
|
|
|
|
04.12.2007, 18:41
|
#96
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от retcom
|
Цитата:
|
Ну таймер будет у вас считать 50 раз в секунду, а ШИМ то какой будет ???
|
В зависимости от значения в OCR0A/B.
|
Я ПРО ЧАСТОТУ !!!
Речь о ЧАСТОТЕ ШЛА !!!
Сообщение от retcom
|
[ Я могу в программе, в цикле while(1){}, открыть порт:
А потом, через некоторое время закрыть:
Чтоб это все происходило по ходу выполнения программы?
А потом опять открыть?
|
Да. Таймер же "автоматом" молотит.
"Открыть" "Закрыть" ИМХО плохо !
Используйте терминологию со стр. 2 курса.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
05.12.2007, 12:42
|
#97
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
Я ПРО ЧАСТОТУ !!!
Речь о ЧАСТОТЕ ШЛА !!!
|
Вроде разобрался я. Спасибо.
Вот еще хочу спросить:
Допустим мне нужна задержка 0,002 сек. И я выставляю delay_ms(2);
А если мне нужна задержка 0,0002 сек. Что нужно сделать?
|
|
|
|
05.12.2007, 12:55
|
#98
|
Гражданин KAZUS.RU
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
|
Цитата:
|
Допустим мне нужна задержка 0,002 сек. И я выставляю delay_ms(2);
А если мне нужна задержка 0,0002 сек. Что нужно сделать?
|
так есть ведь delay_us();-микросекунды
|
|
|
|
05.12.2007, 13:01
|
#99
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Значит, для 0,002 сек. я выставляю delay_ms(2);
А для 0,0002 я выставляю delay_us(200);
Правильно?
|
|
|
|
05.12.2007, 13:19
|
#100
|
Гражданин KAZUS.RU
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
|
да
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
CVAVR while и таймер
|
kr11507 |
Микроконтроллеры, АЦП, память и т.д |
10 |
13.12.2008 21:29 |
Таймер на 5 часов
|
alecsandr27 |
Автоматика и аппаратура связи |
6 |
11.10.2008 20:25 |
Часы - таймер
|
s5s5 |
Микроконтроллеры, АЦП, память и т.д |
5 |
16.05.2008 11:36 |
Таймер
|
Serq |
Автоматика и аппаратура связи |
18 |
27.11.2007 18:32 |
Таймер
|
dem9968 |
Делимся опытом |
1 |
03.02.2005 09:03 |
Часовой пояс GMT +4, время: 01:50.
|
|