Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.10.2007, 11:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
2 retkom . Форум - не благотворительная организация, не детский сад и не школа. Никто не воспитывает и не учит. Это место для обмена мнениями, для помощи в каких-то других вопросах. Если человек мучается несколько дней с проблемой, а мне его ошибка сразу глаза режет - я ему подскажу, естественно. Так же, как подсказывали (подсказывают) и мне. Но элементарно открыть даташит и посмотреть ответ на свой вопрос... Почему нельзя ? Напоминает - давай бухти мне, как космические корабли рассекают просторы большого театра..
Чего ради ??? Обижаться, что не бухтят ?
|
|
|
|
25.10.2007, 13:25
|
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
crocko:
Объясняю (вот сразу видно человек идет на встречу). Я хочу понять принцип. Принцип любой сущности минимален. Поняв сущность, мы можем создавать на базе этой самой простой сущности, другие сущности гораздо сложнее. Вот и задаю вопросы. В книгах про это не говорится. Про что говорится в книгах я читаю и могу это применить.
Генератор частоты всегда работает на одной частоте. Даже если мы поделили его делителями, он сам всегда работает на одной частоте.
Выставив делитель, мы разряжаем частоту. Можем это сделать только на 8,16,32,64, ... раза. Чтоб добится нужной нам частоты, мы заносим в таймер значение, с которого нужно начать отсчет. После этого, когда таймер доходит до максимального, он сбрасывается и что после этого?
Меня интересует, можем ли мы поделив сначала на 8, потом поделить на 16? В зависимости от потребности?
Если мне нужно подать сигнал с частотой 1000Гц, я могу выставить частоту в 3000Гц, подавая сигналы на ножку раз в три такта(программно), а дополнительные такты использовать для вычисления и формирования сигнала?
Между тактами какой промежуток (по времени)? Он, промежуток, одинаков для любой частоты или нет?
Чистота для шима устанавливается также как и основная частота?
Цитата:
|
открыть даташит и посмотреть ответ на свой вопрос
|
Я английский плохо знаю.
Цитата:
|
Напоминает - давай бухти мне, как космические корабли рассекают просторы большого театра..
Чего ради ??? Обижаться, что не бухтят ?
|
Я не обязываю. Ты не так понял. Я думаю быстро и быстро говорю что мне надо. Опуская всю дипломатию. Ведь согласись, что если я начну расписывать все диферамбы, то ты же сам и до конца не дочитаешь.
|
|
|
|
25.10.2007, 13:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Что то я не сильно понял.
Понял тока про генератор немного.Если хочеш сделать генератор програмно перестраиваимый то просто пиши с помощью задержек,при это загружая нужную константу(можно сделать как макрос,но это знаю как только в мплаб).Если с помощью таймера то ложи в таймер определеное число,если не хватает счета таймера,нужно например большую частоту,добавь регистр(счетчик) который отсчитывает переполнение таймера по прерыванию и сравнивай этот регистр с нужным числом отнимая от константы проверяя флаг нуля.
|
|
|
|
25.10.2007, 14:16
|
|
Временная регистрация
Регистрация: 03.11.2006
Сообщений: 64
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
2retcom:
Выставив делитель, мы разряжаем частоту. Можем это сделать только на 8,16,32,64, ... раза. Чтоб добится нужной нам частоты, мы заносим в таймер значение, с которого нужно начать отсчет. После этого, когда таймер доходит до максимального, он сбрасывается и что после этого?
После прерывания по таймеру необходимо восстановить счетчик начала отсчета.
Например, запускаем таймер:
TCCR0A=0x00;
TCCR0B=0x04;
TCNT0=160; от этого значения до FF, после в прерывание.
TIMSK0=0x02;
в прерывании перезагружаем счетчик (TCNT0=160)
AVR по-русски здесь
http://www.gaw.ru/html.cgi/txt/doc/m...h128/index.htm
Это на примере 128меги. Но! Принцип работы всего семейства одинаков.
Поставь себе ImageCraft AVR. В нем очень удобно конфигурировать таймеры, таймеры, шим и т.д. Применительно к таймерам/шим: Пишешь какая частота нужна, он тебе исходный код и значения счетчиков генерирует.
|
|
|
|
25.10.2007, 16:59
|
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
crocko:
я понял спасибо тебе большое.
И еще. не сочти за наглость. где можно скачать ImageCraft AVR, полную и рабочую версию.Чтоб установить можно было
CERGEI1982:
понял пока не совсем, домой приду буду детально разбирать практически. Спасибо и извини если показалось тебе что груб я.
|
|
|
|
25.10.2007, 17:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Сообщение от retcom
|
CERGEI1982:
понял пока не совсем, домой приду буду детально разбирать практически. Спасибо и извини если показалось тебе что груб я.
|
Всегда пожалуста,тока задачу ставь правельно,что в моих силах помогу
|
|
|
|
25.10.2007, 18:22
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Сообщение от retcom
|
И еще. не сочти за наглость. где можно скачать ImageCraft AVR, полную и рабочую версию.
|
У меня есть, могу на мыло выслать...
|
|
|
|
25.10.2007, 21:12
|
|
Временная регистрация
Регистрация: 03.11.2006
Сообщений: 64
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
С официального сайта возьми. Тебе пойдет и демо-версия. Интересует только генератор начального кода. Остальное пиши в привычной среде. Например я так и делаю. У меня ImageCraft демо/
http://www.imagecraft.com/
|
|
|
|
26.10.2007, 15:29
|
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
dimonbest:
Вот сюда скинь пожалуйста: retcom2007@yandex.ru
|
|
|
|
26.10.2007, 15:55
|
|
Вид на жительство
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
У меня не получается нужную частоту вывести почему то.
Я хочу подать импульс с PINC.0 c частотой 50 Гц.
Меряю осцилографом, говорит что 10 Гц.
Щупами осцилогафа меряю сам пин и землю МК (GND)
Код:
|
//Clock frequency : 3,686400 MHz
PORTC=0x00;
DDRC=0x01;
TCCR0=0x05;//деление на 1024
TCNT0=0xB8;//начало счета с 184
OCR0=0x48;//регистр совпадения 72
while (1)
{
PINC.0 = 1;
}; |
Что у меня не так, подскажите, пожалуйста
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Вывод частоты на ногу Меги88
|
FedorChek |
Микроконтроллеры, АЦП, память и т.д |
13 |
14.04.2009 05:04 |
Нужна помочь по подключении пина на мониторинг ттл сигнала.
|
yaguar52 |
Микроконтроллеры, АЦП, память и т.д |
6 |
30.11.2007 14:14 |
Управление жки на основе HD44780
|
CERGEI1982 |
Микроконтроллеры, АЦП, память и т.д |
15 |
08.03.2007 08:44 |
Вывод состояния через 1 вывод
|
DL36 |
Микроконтроллеры, АЦП, память и т.д |
0 |
16.11.2006 14:27 |
Сгорел вывод порта, но наполовину ?
|
pic_allка |
Микроконтроллеры, АЦП, память и т.д |
6 |
02.10.2005 20:33 |
Часовой пояс GMT +4, время: 14:03.
|
|