Контроллер PIC18F.
Мелкие вопросы по МК и ПЛИС.
- Сообщения: 10
- Зарегистрирован: Пт мар 25, 2011 19:20:06
Мелкий вопрос. МК питается от 5в. На разъем приходит 5 логических сигналов амплитудой до 15 вольт. Надо ли ставить стабиллитроны или можно обойтись только резисторами. Если по 100-300кОм поставить, достаточно ли будет внутренних стабиллитронов или обязательно лепить внешние? Плата вся под SMD. А стабы есть в наличии только под сверление. Не хочется лишних хлопот с ними.
Контроллер PIC18F.
Контроллер PIC18F.
- Реклама
Всё зависит от того, на сколько стабильны и богаты помехами 15В-уровни. Если это бортсеть автомобиля, то лучше стабилитроны, или вообще опторазвязку.Надо ли ставить стабиллитроны или можно обойтись только резисторами.
При компиляции проги на асме (ПИК12) пишет такое:
ADC-W0010: A Minimum of 2 TADs are required before another conversion should be started.
Смотрел даташит, смотрел пример... Честно говоря не понял что такое 2 TADs.
ADC-W0010: A Minimum of 2 TADs are required before another conversion should be started.
Смотрел даташит, смотрел пример... Честно говоря не понял что такое 2 TADs.
Успех - императив!
Посмотрите тута. Видимо речь идёт о 2T AD - типа 2 такта для ADC. Может так?
Добрый день!
Вопрос следующего плана: хочу на отладочную плату прикрутить возможность общения с ноутбуком. в наличии переходник USB-COM PL2303. на самой отладочной плате что нужно поставить кроме самого разъема DB9 и собственно дорожек, соединяющих между собой RxD и TxD разъема и контроллера?
Вопрос следующего плана: хочу на отладочную плату прикрутить возможность общения с ноутбуком. в наличии переходник USB-COM PL2303. на самой отладочной плате что нужно поставить кроме самого разъема DB9 и собственно дорожек, соединяющих между собой RxD и TxD разъема и контроллера?
- Реклама
MAX232
а я после такого память поменял и усе номульChettuser писал(а):Вопрос по MPLAB наверное сюда?
Проблема такая: при отладке программы (F7, F8 или "Animate") через некоторое время (пока не уловил, примерно секунд 10-20) вылетает с ошибкой. Очевидно какая то несовместимость в системе. Может у кого то такая проблема была?
avrdude -c listsergeys писал(а):Привет! Коты как думаете хватит для самого начала этого программатора? Потом имея его можно и мегу8 прошить и нормальный сделат. Я так думаю.
http://www.masterkit.ru/main/set.php?code_id=276487
Весь вопрос с дудой под линуксом сдружиться?
Я на прямую кидал котакты, и все работает, и не надо никаких MAX232Necroteeth писал(а):Добрый день!
Вопрос следующего плана: хочу на отладочную плату прикрутить возможность общения с ноутбуком. в наличии переходник USB-COM PL2303. на самой отладочной плате что нужно поставить кроме самого разъема DB9 и собственно дорожек, соединяющих между собой RxD и TxD разъема и контроллера?
Кто не жадный! Поделитесь плиз библиотечкой DS18x2x для MCC18.
Переделать AVR-овскую мне пока не по зубам.
Последний раз редактировалось Chettuser Пн апр 04, 2011 20:50:17, всего редактировалось 1 раз.
ВСЕМ ЕЩЕ РАЗ ЗДРАСТИ!!!!собрал вот это устройство благополучно прошил, но он даже не включается....может какието биты конфигурации надо было поменять? если да то какие? программа winpic800.
если не трудно.....пометьте на картинке.....
- Вложения
-
- конфигурация....jpg
- конфигурация
- (41.45 КБ) 888 скачиваний
С винпиком(осцилятор раком стоит) советовать не буду ,т.к. Пики шью только ис прогом.В Ис проге биты становятса из кода автоматически!Прошейте ис прогом.http://www.ic-prog.com/Radiobonchic писал(а):если не трудно.....пометьте на картинке.....
У кошки 4 ноги и хвост-плюс,минус,вход,выход,а хвост-земля.....Надо переходить с китайской бурды на канифоль.......[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x60.gif[/img][/url]
ICprog почему то постоянно матерится на моем компе...а если начать шить то вообще сразу зависает....
ВСЕМ СПАСИБО ЕЩЕ РАЗ....свершилось вновь чудо, все заработало, но либо прошивка касая, либо я просто плохо прошил....энкодер как ни крути, всегда вправо поворачивает(так думает прошивка..), но это отдельная тема...
помогите разобраться, что в регистрах таймеров записать.
нужны в программе два таймера - один постоянно работающий, другой включающийся по команде. оба обнуляются по совпадению своих компараторов
при предделителе 1/1024 OCR0=C3, OCR1A=01E8
TIMSK=00010010
TCCR0=00001101
непонятный для меня момент в том, что я не могу найти предделитель таймера1 - в регистре TCCR1A нет битов CS
и бит обнуления по совпадению с компаратором тоже не заметил...
заметил, что таковые есть зато в TCCR1B. как это понимать? как правильно заюзать второй таймер, чтоб при делителе 1/1024 он считал до 01E8?
короче, запутался я с 16-битным таймером...
нужны в программе два таймера - один постоянно работающий, другой включающийся по команде. оба обнуляются по совпадению своих компараторов
при предделителе 1/1024 OCR0=C3, OCR1A=01E8
TIMSK=00010010
TCCR0=00001101
непонятный для меня момент в том, что я не могу найти предделитель таймера1 - в регистре TCCR1A нет битов CS
заметил, что таковые есть зато в TCCR1B. как это понимать? как правильно заюзать второй таймер, чтоб при делителе 1/1024 он считал до 01E8?
короче, запутался я с 16-битным таймером...
Вы бы хоть МК озвучили.Necroteeth писал(а):короче, запутался я с 16-битным таймером...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Пример для ATMega8. 16-ти битный таймер. Используем 2 "регистра совпадения". Компилятор CVAVR. Два значения 01С2 и 01Е8 по совпадению с которыми генерируется прерывание.короче, запутался я с 16-битным таймером...
Код: Выделить всё
//инициализация таймера
....
OCR1AH=0x01;
OCR1AL=0xС2;
OCR1BH=0x01;
OCR1BL=0xЕ8;
// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
// код
}
// Timer 1 output compare B interrupt service routine
interrupt [TIM1_COMPB] void timer1_compb_isr(void)
{
// код
}P.S. Компилятора под рукой нет, открыл исходник в блокноте, скопировал кусок, и подправил немного.
Код: Выделить всё
TIMSK=0x19;Нельзя всё знать, достаточно понимать.
ох... извините, я забыл сказать, что МК Atmega16A, а пишу на ассемблере в AVR Studio. логика осуществления мне, в приницпе, понятна, а конкретный механизм установки таймера не очень - 1. части Timer/Counter1 A и B работают полностью независимо или отличаются только значениями компараторов?
2. следует из первого. режим "очистить таймер при совпадении компаратора" устанавливается для обеих половинок Timer/Counter1, отдельно или только у одной его конкретной половины?
поначалу хотелось схалявить и содрать все из обучалки, где использовали часть B в бегущем огоньке, но потом понял, что вопросы тогда не пропадут и захотел сделать на половине A. вот и родились эти вопросы
2. следует из первого. режим "очистить таймер при совпадении компаратора" устанавливается для обеих половинок Timer/Counter1, отдельно или только у одной его конкретной половины?
поначалу хотелось схалявить и содрать все из обучалки, где использовали часть B в бегущем огоньке, но потом понял, что вопросы тогда не пропадут и захотел сделать на половине A. вот и родились эти вопросы
1. В одном таймере - 1 счетчик, и может быть несколько компараторов. В данном случае счетчик - TCNT1, компаратор OCR1A и компаратор OCR1B. В каждом из них свое значение, и сравнивается оно с текущим значением счетчика TCNT1.
2. Это про режим CTC? Если да, то вроде отдельно для каждого компаратора, но если очищать таймер при совпадении компаратора с меньшим порогом, то до компаратора в большим порогом таймер не досчитает
2. Это про режим CTC? Если да, то вроде отдельно для каждого компаратора, но если очищать таймер при совпадении компаратора с меньшим порогом, то до компаратора в большим порогом таймер не досчитает
спасибо большое! буду пробоватьEngineer_Keen писал(а):1. В одном таймере - 1 счетчик, и может быть несколько компараторов. В данном случае счетчик - TCNT1, компаратор OCR1A и компаратор OCR1B. В каждом из них свое значение, и сравнивается оно с текущим значением счетчика TCNT1.
2. Это про режим CTC? Если да, то вроде отдельно для каждого компаратора, но если очищать таймер при совпадении компаратора с меньшим порогом, то до компаратора в большим порогом таймер не досчитает
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
Регистры TCCR1A...C общие на весь таймер, а не так, например: TCCR1A <<>> OCR1A и т. д. Остановка таймера: обнуление битов CS12...10 в регистре TCCR1B, а включение: установка (там же) необходимого коэффициента деления.Necroteeth писал(а):помогите разобраться, что в регистрах таймеров записать.
Режим СТС - сброс при совпадении - устанавливается битами WGM13, WGM12 - 01 в TCCR1B и WGM11, WGM10 - 00 в TCCR1A, это для Atmega16. СТС применим только для OCR1A. Для других: OCR1B, С - только сравнение.




