ssvd писал(а):Вы как то объяснили, что немного не понял, так надо на Atmega8 цеплять часовой кварц или все таки таймер 2 работает как RTC без внешнего кварца?
AI_Disable писал(а):таймер ... тактируется от точного часового кварца, а сам процессор от другого, более шустрого источника тактирования
А я так понял, что нужен как минимум один часовой кварц. А для проца — внутренний RC генератор или внешний мегагерцовый кварц (второй). По-моему, всё понятно (если я правильно понял =).
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
ssvd писал(а):Вы как то объяснили, что немного не понял, так надо на Atmega8 цеплять часовой кварц или все таки таймер 2 работает как RTC без внешнего кварца?
AI_Disable писал(а):таймер ... тактируется от точного часового кварца, а сам процессор от другого, более шустрого источника тактирования
А я так понял, что нужен как минимум один часовой кварц. А для проца — внутренний RC генератор или внешний мегагерцовый кварц (второй). По-моему, всё понятно (если я правильно понял =).
ну тогда все понятно ))))
а на часовой кварц нужны кондюки?
У меня такая проблема Не могу прошить Atiny2313 а также AT90S2313. Шью Протосом AVR 910. Все остальные контролеры типа Мега 8,Мега 8535,Мега16шьются отлично.Atiny2313 а также AT90S2313 абсолютно новые,ще муха не кусала При попытке даже их прочитать выдаёт следующее---AVRPROG ERROR ENTERING PROGRAMMING CODE---Шо за лабуда такая? В чём прикол? Плата разведена правильно.Через PonyProg2000 через программатор STK200/300 читаются эти микрухи без проблем. Не залоченные,всё нормально.Подскажите,в чём тут проблема?
И ещё такой вопрос.Есть плата адаптера под микроконтроллеры но она без кварца . Как в таком случае прошивать Меги и Тиньки без кварца? Просветите неуча,АВРками начал заниматься недавно,до этого практиковался на пиках,но практика небольшая,всего то только четыре или пять сделанных устройств
Новые аврки, т.е. "с завода", идут с настроенным на 1Мгц внутренним генератором. Можно шить и пользовать без внешнего кварца. Однако точность страдает, подробнее см. ДШ.
Насчёт тини2313, попробуйте поставить перемычку "LOW SCK" на программаторе.
Именно 90s2313 даже если "новая" (с завода) всё равно "старая" (по разработке кристалла) - у неё нет внутренего RC, нет доступных не-параллельному программатору фьюзов. Нужен кварц.
Почему не шьётся тини2313 - не знаю.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Извиняюсь что упустил из вида деталь, avreal категорически прав, внутренний генератор есть только у новых семейств (mega и tiny) у 90 его никогда не было.
Ура!!!!!!!!!!!!!!!!!!! Заработало!!!!!!!!!!!!! А вообще,нафиг она нужна эта перемычка? Она только для Тинек используется или ещё для чегото? А меги тоже сней можно шить?
billy писал(а):А вообще,нафиг она нужна эта перемычка?
Она предназначена для понижения частоты программирования. С ней можно шить любые авр(которые поддерживаются данным прогером, ессно), ровно как и без неё, но тогда нужно увеличить частоту тактирования МК так, чтобы она превышала частоту программирования минимум в 4 раза. С завода все(или почти все) тини и меги идут с внутренним 1Мгц, из-за чего вышеуказанное условие нарушается и программирование на "нормальной" частоте становится невозможным.
беда постигла мои контроллеры - после очередного стирания флеша контроллер не хочет определяться вообще:
програмирую в CVAVR уже давно, но такое начало случаться недавно, даже на только что купленном контроллере. - нажал зачем-то на Erase Chip ...
вобщем работает с этими несчастными только опция Chip Signature
по выбору которой выскакивает маленькое окошко, где можно распознать чип по выведеной инфе.
запоротые мной контроллеры определяются вот так:
что делать? не выкидывать же? как можно вернуть им сознание?
тема большая, а поиск дельного не выдал
З.ы.
сорри. нашёл что делать). похоже в моём случае проще купить ещё 1 контроллер и быстренько прошить, пока не поздно предварительно отладив всё на компе.
Последний раз редактировалось VanzAAA Вт апр 06, 2010 21:41:04, всего редактировалось 1 раз.
желающие порядка, не творите беспорядка. желающие правды - не топчите её
Подскажите, как программно устранить дребезг контактов? (подключение кнопки к МК)
В схеме поставил кондёр параллельно кнопке, но для пущей надёжности хочется
и в программе МК.
I am DX168B and this is my favourite forum on internet!
ИМХО достаточно кондёра с резисторами. резистор от кондёра на порте пустить на кнопку, которая замыкает на минус. допустим так)
при случайном нажатии - не успеет разрядиться кондёр, тоже самое и при отжатии...
желающие порядка, не творите беспорядка. желающие правды - не топчите её
VanzAAA писал(а):ИМХО достаточно кондёра с резисторами. резистор от кондёра на порте пустить на кнопку, которая замыкает на минус. допустим так)
при случайном нажатии - не успеет разрядиться кондёр, тоже самое и при отжатии...
Предложенный Вами способ помогает мало. Либо тригер на входе, либо програмно. В свое время намучился капитально.
GP1 писал(а):Тут есть небольшие нюансы, зависящие от способа получения кода клавиши - по опросу или по прерыванию.
Работает по принципу опроса порта. Генерация кода кнопки происходит при помощи
диодной матрицы. Таким способом мне удалось сократить расход выводов на МК до 4х.
Вот программа опроса порта:
;---------------------------------- Опрос клавиши 1й цифры кода (ожидание нажатия одной из кнопок)
keyreq1:
in digit1, PinB
andi digit1, 0b11110001
rcall delay ;--------------------- Тут я вставил задержку
cpi digit1, 0b00000000
breq keyreq1
;---------------------------------- Ожидание отпускания кнопки
rcall beep
keyreq11:
in temp1, PinB
andi temp1, 0b11110001
cpi temp1, 0b00000000
breq keyreq12
rjmp keyreq11
;---------------------------------- Проверка на технические команды
keyreq12:
cpi digit1, 0b00000001
breq switch1
cpi digit1, 0b11110000
breq reset2
cpi digit1, 0b01110000
breq new
rjmp keyreq2
;---------------------------------- Обработчик задержки
delay:
dec del1
brne delay
ret
;----------------------------------
Первые 2 блока программы можно использовать не только для опроса кнопок,
но и для обмена данными между устройствами по параллельному интерфейсу
(вовсю использую для этих целей, причём успешно. Если тактовая частота МК 8МГц,
то можно спокойно гонять данные с частотой 4 МГц [2 Мегабита в секунду)
I am DX168B and this is my favourite forum on internet!
В принципе нормально, но для надежного отсечения дребезга задержка между обращениями к порту должна быть 20-40 мс (зависит от качества кнопок), а у тебя задержка максимум 32 мкс (256*1/8МГц), что явно не достаточно.